@wix/patterns 1.475.0 → 1.477.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 (413) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  9. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  10. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  14. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  16. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  24. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  27. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  28. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  29. package/dist/cjs/components/EditableTable/EditableCell.js +5 -4
  30. package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
  31. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  32. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  34. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  36. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  46. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.js +9 -5
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  56. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  58. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  60. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  68. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  72. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  74. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  76. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  80. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  82. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  83. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  84. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  85. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  86. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  87. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  88. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  89. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  90. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  91. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  92. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  93. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  94. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  95. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  96. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  97. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  98. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  99. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  100. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  101. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  102. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  103. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  104. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  105. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  106. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  107. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  108. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  109. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  110. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  111. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  112. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  113. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  114. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  115. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  116. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  117. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  118. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  119. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  120. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  121. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  122. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  123. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
  124. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  125. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  126. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  127. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  128. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  129. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  130. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  131. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  132. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  133. package/dist/cjs/components/common.st.css.js +4 -4
  134. package/dist/cjs/components/common.st.css.js.map +1 -1
  135. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  136. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  137. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
  138. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  139. package/dist/cjs/state/EntityPage/EntityPageState.js +2 -1
  140. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  141. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  142. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  143. package/dist/cjs/styles.global.css +2 -2
  144. package/dist/cjs/test-utils/index.js +6 -0
  145. package/dist/cjs/test-utils/index.js.map +1 -1
  146. package/dist/cjs/test-utils/scrollUntilRendered.js +45 -0
  147. package/dist/cjs/test-utils/scrollUntilRendered.js.map +1 -0
  148. package/dist/cjs/version.js +1 -1
  149. package/dist/cjs/version.js.map +1 -1
  150. package/dist/docs/Collection Toolkit.md +16 -1
  151. package/dist/docs/Collection to Entity Flow.md +8 -1
  152. package/dist/docs/Composition and Providers.md +16 -1
  153. package/dist/docs/CustomFieldType.md +10 -1
  154. package/dist/docs/ImportButton.md +5 -24
  155. package/dist/docs/Reading the Doc Indices.md +21 -0
  156. package/dist/docs/index.json +62 -6
  157. package/dist/docs/useSchemaSource.md +22 -82
  158. package/dist/dts-bundle/components/EditableTable.d.ts +551 -0
  159. package/dist/dts-bundle/components/EntityPageFieldsCard.d.ts +100 -0
  160. package/dist/dts-bundle/components/LayoutSwitch.d.ts +931 -0
  161. package/dist/dts-bundle/components/schema/EntityPage.d.ts +317 -0
  162. package/dist/dts-bundle/components/schema/Grid.d.ts +467 -0
  163. package/dist/dts-bundle/components/schema/Table.d.ts +360 -0
  164. package/dist/dts-bundle/exports/core.d.ts +1 -0
  165. package/dist/dts-bundle/exports/essentials.d.ts +0 -1
  166. package/dist/dts-bundle/exports/giza.d.ts +0 -1
  167. package/dist/dts-bundle/exports/index.d.ts +1 -2
  168. package/dist/dts-bundle/exports/schema.d.ts +14 -7
  169. package/dist/dts-bundle/functions/listCmsCollections.d.ts +12 -0
  170. package/dist/dts-bundle/hooks/schema/useCollection.d.ts +341 -0
  171. package/dist/dts-bundle/hooks/schema/useEntityPage.d.ts +244 -0
  172. package/dist/dts-bundle/hooks/schema/useGridCollection.d.ts +338 -0
  173. package/dist/dts-bundle/hooks/schema/useTableCollection.d.ts +338 -0
  174. package/dist/dts-bundle/hooks/useCmsSchemaSource.d.ts +439 -0
  175. package/dist/dts-bundle/hooks/useEditableTableCollection.d.ts +422 -0
  176. package/dist/dts-bundle/hooks/useLayoutSwitchCollection.d.ts +414 -0
  177. package/dist/dts-bundle/hooks/useSchemaSource.d.ts +59 -0
  178. package/dist/dts-bundle/index.json +328 -18
  179. package/dist/dts-bundle/index.txt +23 -2
  180. package/dist/dts-bundle/types/CellType.d.ts +839 -0
  181. package/dist/dts-bundle/types/CmsCollectionSummary.d.ts +9 -0
  182. package/dist/dts-bundle/types/EntityPageState.d.ts +1 -1
  183. package/dist/dts-bundle/types/SchemaSource.d.ts +8 -48
  184. package/dist/dts-bundle/types/SchemaSourceInput.d.ts +814 -0
  185. package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +919 -0
  186. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  187. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  188. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  189. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  190. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  191. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  192. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  193. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  194. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  195. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  196. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  197. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  198. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  199. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  200. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  201. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  202. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  203. package/dist/esm/components/EditableTable/EditableCell.js +1 -1
  204. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
  205. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  206. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  207. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  208. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  209. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  210. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  211. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  212. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  213. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  214. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  215. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  216. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  217. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  218. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  219. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  220. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  221. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  222. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  223. package/dist/esm/components/EditableTable/cellTypes/datetime/View.js +4 -1
  224. package/dist/esm/components/EditableTable/cellTypes/datetime/View.js.map +1 -1
  225. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  226. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  227. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  228. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  229. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  230. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  231. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  232. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  233. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  234. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  236. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  237. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  238. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  239. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  241. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  242. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  243. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  244. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  245. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  246. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  247. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  248. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  249. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  250. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  251. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  252. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  253. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  254. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  255. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  256. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  257. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  258. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  259. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  260. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  261. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  262. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  263. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  264. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  265. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  266. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  267. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  268. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  269. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  270. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  271. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  272. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  273. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  274. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  275. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  276. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  277. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  278. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  279. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  280. package/dist/esm/components/common.st.css.js +2 -2
  281. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  282. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  283. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
  284. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  285. package/dist/esm/state/EntityPage/EntityPageState.js +2 -0
  286. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  287. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  288. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  289. package/dist/esm/styles.global.css +2 -2
  290. package/dist/esm/test-utils/index.js +1 -0
  291. package/dist/esm/test-utils/index.js.map +1 -1
  292. package/dist/esm/test-utils/scrollUntilRendered.js +32 -0
  293. package/dist/esm/test-utils/scrollUntilRendered.js.map +1 -0
  294. package/dist/esm/version.js +1 -1
  295. package/dist/examples/useSchemaSource/cms-collection.tsx +1 -1
  296. package/dist/examples/useSchemaSource/extra-columns-and-data.tsx +1 -1
  297. package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
  298. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  299. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  300. package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
  301. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  302. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
  303. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  304. package/dist/types/components/EditableTable/cellTypes/array/Edit.st.css.d.ts.map +1 -1
  305. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  306. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  307. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
  308. package/dist/types/components/EditableTable/cellTypes/datetime/View.d.ts.map +1 -1
  309. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  310. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  311. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  312. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
  313. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  314. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  315. package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -1
  316. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  317. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  318. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  319. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  320. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  321. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  322. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  323. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  324. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  325. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  326. package/dist/types/state/CollectionPage/TitleBadges.st.css.d.ts.map +1 -1
  327. package/dist/types/state/EntityPage/EntityPageState.d.ts +1 -1
  328. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  329. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  330. package/dist/types/test-utils/index.d.ts +1 -0
  331. package/dist/types/test-utils/index.d.ts.map +1 -1
  332. package/dist/types/test-utils/scrollUntilRendered.d.ts +24 -0
  333. package/dist/types/test-utils/scrollUntilRendered.d.ts.map +1 -0
  334. package/dist/types/version.d.ts +1 -1
  335. package/package.json +8 -8
  336. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  337. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  338. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  339. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  340. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  341. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  342. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  343. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  344. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  345. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  346. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  347. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  348. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  349. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  350. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  351. package/src/components/EditableTable/EditableCell.tsx +1 -0
  352. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  353. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  354. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  355. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  356. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  357. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  358. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  359. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  360. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  361. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  362. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  363. package/src/components/EditableTable/cellTypes/datetime/View.tsx +4 -0
  364. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  365. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  366. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  367. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  368. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  369. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  370. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  371. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  372. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  373. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  374. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  375. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  376. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  377. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  378. package/src/components/Fade/Fade.st.css.ts +2 -2
  379. package/src/components/Heading/Heading.st.css.ts +2 -2
  380. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  381. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  382. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  383. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  384. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  385. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  386. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  387. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  388. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  389. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  390. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  391. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  392. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  393. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  394. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  395. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  396. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  397. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  398. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  399. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  400. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  401. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  402. package/src/components/common.st.css.ts +2 -2
  403. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  404. package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
  405. package/src/state/EntityPage/EntityPageState.ts +2 -1
  406. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  407. package/src/styles.global.css +2 -2
  408. package/src/test-utils/index.ts +1 -0
  409. package/src/test-utils/scrollUntilRendered.ts +98 -0
  410. package/src/version.ts +1 -1
  411. package/dist/examples/ImportButton/platformized-import-from-a-source.tsx +0 -56
  412. package/dist/examples/useSchemaSource/your-own-source.tsx +0 -173
  413. /package/dist/examples/ImportButton/{platformized-import-fields-inline.tsx → platformized-import.tsx} +0 -0
@@ -0,0 +1,839 @@
1
+ import React, { MutableRefObject, ReactElement, ComponentType, ReactNode, CSSProperties } from 'react';
2
+ import { AtlasService, RichTextStyleVariables } from '@wix/patterns-fields';
3
+ import { TableColumn as TableColumn$1 } from '@wix/design-system';
4
+
5
+ /**
6
+ * `TranslationsKeys` — widened to `string`.
7
+ * Generated key list that is cairo's own, not something a caller writes, so it is not published as its own bundle.
8
+ */
9
+ type TranslationsKeys = string;
10
+ type Translate = {
11
+ (key: TranslationsKeys, params?: Record<string, string | number>): string;
12
+ (key: 'cairo.import.summaryUpdated', params: {
13
+ count: number;
14
+ }): string;
15
+ (key: 'cairo.import.missingRequiredMessage', params: {
16
+ fields: string;
17
+ }): string;
18
+ (key: 'cairo.tags.manageTags.modal.deleteModal.body.asLabels', params: {
19
+ name: string;
20
+ }): string;
21
+ (key: 'cairo.filtersPanel.numRange.maxRange.consumer.error', params: {
22
+ maxAmount: number;
23
+ }): string;
24
+ (key: 'cairo.bulkSelectedWithTotal', params: {
25
+ num: number;
26
+ total: number;
27
+ }): string;
28
+ (key: 'cairo.import.newFieldOption', params: {
29
+ column: string;
30
+ }): string;
31
+ (key: 'cairo.setupWidget.progress.label', params: {
32
+ completed: string;
33
+ total: number;
34
+ }): string;
35
+ (key: 'cairo.search.Tab.noresults.title', params: {
36
+ tabName: string;
37
+ }): string;
38
+ (key: 'cairo.fieldValidation.charactersLimit.outOfBounds.error', params: {
39
+ min: number;
40
+ max: number;
41
+ }): string;
42
+ (key: 'cairo.manageView.setAsDefault.error.toast', params: {
43
+ viewName: string;
44
+ }): string;
45
+ (key: 'cairo.deleteSuccess', params: {
46
+ itemName: string;
47
+ }): string;
48
+ (key: 'cairo.import.partialSuccess', params: {
49
+ succeeded: string;
50
+ failed: string;
51
+ }): string;
52
+ (key: 'cairo.saveView.Success.toast', params: {
53
+ viewName: string;
54
+ }): string;
55
+ (key: 'cairo.customFields.fieldType.date.invalid.value', params: {
56
+ dateFormat: string;
57
+ }): string;
58
+ (key: 'cairo.customFields.maxFields.tooltip', params: {
59
+ max: number;
60
+ }): string;
61
+ (key: 'cairo.bulkActions.max.selection', params: {
62
+ total: number;
63
+ max: number;
64
+ }): string;
65
+ (key: 'cairo.customFields.delete.modal.title', params: {
66
+ selectedField: string;
67
+ }): string;
68
+ (key: 'cairo.customFields.deleted.success.toast', params: {
69
+ selectedField: string;
70
+ }): string;
71
+ (key: 'cairo.collectionPage.nestedLimit.tooltip', params: {
72
+ subCatsAmount: number;
73
+ }): string;
74
+ (key: 'cairo.tags.manageTags.modal.list.create.CTA', params: {
75
+ tagName: string;
76
+ }): string;
77
+ (key: 'cairo.import.summaryCreated', params: {
78
+ count: number;
79
+ }): string;
80
+ (key: 'cairo.customFields.archive.modal.title.enabled', params: {
81
+ selectedField: string;
82
+ }): string;
83
+ (key: 'cairo.editableTable.contextMenu.deleteRow.CTA', params: {
84
+ count: number;
85
+ }): string;
86
+ (key: 'cairo.import.partialSuccessToast', params: {
87
+ failed: string;
88
+ imported: string;
89
+ }): string;
90
+ (key: 'cairo.settings.search.anchor-doesnt-exist.error', params: {
91
+ anchorName: string;
92
+ }): string;
93
+ (key: 'cairo.tags.creationLimitReached.error.asLabels', params: {
94
+ limit: string;
95
+ count: number;
96
+ }): string;
97
+ (key: 'cairo.editableTable.field.validation.required', params: {
98
+ fieldName: string;
99
+ }): string;
100
+ (key: 'cairo.emptyState.subtitle.nothingMatches', params: {
101
+ term: string;
102
+ }): string;
103
+ (key: 'cairo.customFields.restore.error.toast', params: {
104
+ selectedField: string;
105
+ }): string;
106
+ (key: 'cairo.editableTable.updateItem.success.toast', params: {
107
+ count: number;
108
+ }): string;
109
+ (key: 'cairo.sortableColumns.modal.title', params: {
110
+ columnTitle: string;
111
+ }): string;
112
+ (key: 'cairo.table.deleteViewModal.deleteBody', params: {
113
+ viewName: string;
114
+ }): string;
115
+ (key: 'cairo.table.summaryBar.list.item', params: {
116
+ title: string;
117
+ value: string;
118
+ }): string;
119
+ (key: 'cairo.customFields.delete.modal.description', params: {
120
+ selectedField: string;
121
+ }): string;
122
+ (key: 'cairo.bulkSelected', params: {
123
+ num: number;
124
+ }): string;
125
+ (key: 'cairo.tags.collectionPage.popover.create.CTA.asLabels', params: {
126
+ tagName: string;
127
+ }): string;
128
+ (key: 'cairo.tags.manageTags.modal.title.asLabels', params: {
129
+ EntityName: string;
130
+ }): string;
131
+ (key: 'cairo.fieldValidation.maxCharacter', params: {
132
+ charMax: number;
133
+ }): string;
134
+ (key: 'cairo.picker.itemsSelected', params: {
135
+ total: number;
136
+ max: number;
137
+ }): string;
138
+ (key: 'cairo.filtersPanel.numRange.minRange.consumer.error', params: {
139
+ minAmount: number;
140
+ }): string;
141
+ (key: 'cairo.tags.manageTags.modal.list.create.CTA.asLabels', params: {
142
+ tagName: string;
143
+ }): string;
144
+ (key: 'cairo.manageView.Rename.Success.toast', params: {
145
+ oldViewName: string;
146
+ newViewName: string;
147
+ }): string;
148
+ (key: 'cairo.tags.creationLimitReached.error', params: {
149
+ limit: string;
150
+ count: number;
151
+ }): string;
152
+ (key: 'cairo.fieldValidation.minCharacter', params: {
153
+ charMin: number;
154
+ }): string;
155
+ (key: 'cairo.appliedFilters', params: {
156
+ num: number;
157
+ }): string;
158
+ (key: 'cairo.tags.bulkItemUpdate.toast.error.asLabels', params: {
159
+ total: number;
160
+ }): string;
161
+ (key: 'cairo.fieldValidation.minNumber', params: {
162
+ minAmount: number;
163
+ }): string;
164
+ (key: 'cairo.setupWidget.aggregated.counter', params: {
165
+ completed: string;
166
+ total: number;
167
+ }): string;
168
+ (key: 'cairo.bulkSelected.selectUpTo', params: {
169
+ max: number;
170
+ }): string;
171
+ (key: 'cairo.tags.manageTags.modal.deleteModal.body', params: {
172
+ name: string;
173
+ }): string;
174
+ (key: 'cairo.tags.manageTags.modal.title', params: {
175
+ EntityName: string;
176
+ }): string;
177
+ (key: 'cairo.sortableColumns.modal.description', params: {
178
+ columnTitle: string;
179
+ }): string;
180
+ (key: 'cairo.deleteView.Success.toast', params: {
181
+ viewName: string;
182
+ }): string;
183
+ (key: 'cairo.entity.item', params: {
184
+ num: number;
185
+ }): string;
186
+ (key: 'cairo.import.summaryFailed', params: {
187
+ count: number;
188
+ }): string;
189
+ (key: 'cairo.manageView.saveChanges.Success.toast', params: {
190
+ viewName: string;
191
+ }): string;
192
+ (key: 'cairo.search.nothingMatches.title', params: {
193
+ term: string;
194
+ }): string;
195
+ (key: 'cairo.editableTable.deleteItem.success.toast', params: {
196
+ count: number;
197
+ }): string;
198
+ (key: 'cairo.dragAndDrop.live-region.itemDragged.sr', params: {
199
+ currentNumber: number;
200
+ totalNumber: number;
201
+ }): string;
202
+ (key: 'cairo.editableTable.field.validation.pattern', params: {
203
+ fieldName: string;
204
+ }): string;
205
+ (key: 'cairo.import.summaryCounts', params: {
206
+ succeeded: string;
207
+ failed: string;
208
+ }): string;
209
+ (key: 'cairo.import.newFieldHelper', params: {
210
+ typeName: string;
211
+ }): string;
212
+ (key: 'cairo.tags.manageTags.modal.list.input.validation.maxLength', params: {
213
+ count: number;
214
+ }): string;
215
+ (key: 'cairo.selector.modal.items.selected', params: {
216
+ total: number;
217
+ }): string;
218
+ (key: 'cairo.import.missingRequiredField', params: {
219
+ count: number;
220
+ }): string;
221
+ (key: 'cairo.tags.manageTags.modal.list.input.validation.maxLength.asLabels', params: {
222
+ count: number;
223
+ }): string;
224
+ (key: 'cairo.selected', params: {
225
+ total: number;
226
+ }): string;
227
+ (key: 'cairo.editableTable.contextMenu.clearCell.CTA', params: {
228
+ count: number;
229
+ }): string;
230
+ (key: 'cairo.filtersPanel.search.noResults.title', params: {
231
+ term: string;
232
+ }): string;
233
+ (key: 'cairo.sortableColumns.notification', params: {
234
+ columnTitle: string;
235
+ }): string;
236
+ (key: 'cairo.tags.popover.creationLimitReached.error.asLabels', params: {
237
+ limit: string;
238
+ count: number;
239
+ }): string;
240
+ (key: 'cairo.import.summaryErrorRow', params: {
241
+ row: string;
242
+ message: string;
243
+ }): string;
244
+ (key: 'cairo.editableTable.field.validation.specificValues', params: {
245
+ fieldName: string;
246
+ }): string;
247
+ (key: 'cairo.tags.popover.creationLimitReached.error', params: {
248
+ limit: string;
249
+ count: number;
250
+ }): string;
251
+ (key: 'cairo.fieldValidation.maxNumber', params: {
252
+ maxAmount: number;
253
+ }): string;
254
+ (key: 'cairo.customFields.archive.success.toast.enabled', params: {
255
+ selectedField: string;
256
+ }): string;
257
+ (key: 'cairo.customFields.restored.success.toast', params: {
258
+ selectedField: string;
259
+ }): string;
260
+ (key: 'cairo.appliedFilters.selected', params: {
261
+ num: number;
262
+ }): string;
263
+ (key: 'cairo.editableTable.contextMenu.removeRows.CTA', params: {
264
+ count: number;
265
+ }): string;
266
+ (key: 'cairo.customFields.delete.error.toast', params: {
267
+ selectedField: string;
268
+ }): string;
269
+ (key: 'cairo.tags.collectionPage.popover.create.CTA', params: {
270
+ tagName: string;
271
+ }): string;
272
+ (key: 'cairo.import.fileNameLabel', params: {
273
+ name: string;
274
+ }): string;
275
+ (key: 'cairo.tags.bulkItemUpdate.toast.error', params: {
276
+ total: number;
277
+ }): string;
278
+ (key: 'cairo.dragAndDrop.button-role-label.sr', params: {
279
+ itemName: string;
280
+ }): string;
281
+ (key: 'cairo.dropdownSearch.filters.selected', params: {
282
+ total: number;
283
+ }): string;
284
+ (key: 'cairo.tags.tagsWidget.options.add.CTA', params: {
285
+ tagName: string;
286
+ }): string;
287
+ (key: 'cairo.customFields.archive.error.toast', params: {
288
+ selectedField: string;
289
+ }): string;
290
+ (key: 'cairo.editableTable.row.invalidFields.tooltip', params: {
291
+ count: number;
292
+ }): string;
293
+ (key: 'cairo.a11y.liveRegion.resultsFound', params: {
294
+ num: number;
295
+ }): string;
296
+ (key: 'cairo.dragAndDrop.live-region.itemDropped.sr', params: {
297
+ currentNumber: number;
298
+ }): string;
299
+ (key: 'cairo.manageView.setAsDefault.success.toast', params: {
300
+ viewName: string;
301
+ }): string;
302
+ (key: 'cairo.filtersPanel.appliedFilters.label', params: {
303
+ numberAppliedFilters: number;
304
+ }): string;
305
+ (key: 'cairo.tags.tagsWidget.options.add.CTA.asLabels', params: {
306
+ tagName: string;
307
+ }): string;
308
+ };
309
+
310
+ type PatternsFieldType = 'SHORT_TEXT' | 'LONG_TEXT' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'DATETIME' | 'TIME' | 'URL' | 'ARRAY' | 'REFERENCE' | 'MULTI_REFERENCE' | 'OBJECT' | 'IMAGE' | 'VIDEO' | 'MEDIA_GALLERY' | 'ADDRESS' | 'RICH_TEXT' | 'DOCUMENT' | 'RICH_CONTENT' | 'MULTI_DOCUMENT' | 'EMAIL' | 'AUDIO' | 'COLOR' | 'CUSTOM' | 'UNKNOWN';
311
+ type QueryOperator = 'CONTAINS' | 'ENDS_WITH' | 'EQ' | 'EXISTS' | 'GT' | 'GTE' | 'HAS_ALL' | 'HAS_SOME' | 'LT' | 'LTE' | 'NE' | 'STARTS_WITH' | 'URLIZED';
312
+ interface NumberRange {
313
+ min?: number;
314
+ max?: number;
315
+ }
316
+ interface StringLengthRange {
317
+ minLength?: number;
318
+ maxLength?: number;
319
+ }
320
+ interface SpecificValue {
321
+ id: string;
322
+ value: string;
323
+ }
324
+ interface BaseField {
325
+ id: string;
326
+ displayName: string;
327
+ isPii?: boolean;
328
+ helpText?: string;
329
+ /** Whether this is a system-managed field (not user-created). */
330
+ isSystem?: boolean;
331
+ /** The group this field belongs to, when the source groups its fields.
332
+ * Absent ⇒ ungrouped. */
333
+ group?: string;
334
+ /** Whether this is the collection's primary display field. */
335
+ isPrimary?: boolean;
336
+ validation?: {
337
+ numberRange?: NumberRange;
338
+ stringLengthRange?: StringLengthRange;
339
+ specificValues?: SpecificValue[];
340
+ /** Regular expression source the value must match. Applies to text-like
341
+ * fields only; mutually exclusive with `specificValues`. */
342
+ pattern?: string;
343
+ required: boolean;
344
+ };
345
+ capabilities?: {
346
+ supportedQueryOperators: QueryOperator[];
347
+ sortable: boolean;
348
+ };
349
+ }
350
+ interface BaseReferenceField extends BaseField {
351
+ referenceMetadata: {
352
+ referencedCollectionId: string;
353
+ };
354
+ }
355
+ interface ReferenceField extends BaseReferenceField {
356
+ type: 'REFERENCE';
357
+ }
358
+ interface MultiReferenceField extends BaseReferenceField {
359
+ type: 'MULTI_REFERENCE';
360
+ }
361
+ interface NonReferenceField extends BaseField {
362
+ type: Exclude<PatternsFieldType, 'REFERENCE' | 'MULTI_REFERENCE'>;
363
+ /** Present iff `type` is 'CUSTOM'; keys a field type definition registered on the source. */
364
+ customType?: string;
365
+ }
366
+ type Field = ReferenceField | MultiReferenceField | NonReferenceField;
367
+
368
+ type ValidationRule = {
369
+ type: 'required';
370
+ message: string;
371
+ } | {
372
+ type: 'min' | 'max';
373
+ value: number;
374
+ message: string;
375
+ } | {
376
+ type: 'minLength' | 'maxLength';
377
+ value: number;
378
+ message: string;
379
+ } | {
380
+ type: 'pattern';
381
+ value: RegExp;
382
+ message: string;
383
+ } | {
384
+ type: 'custom';
385
+ validate: (value: unknown) => boolean;
386
+ message: string;
387
+ } | {
388
+ type: 'specificValues';
389
+ values: {
390
+ id: string;
391
+ value: string;
392
+ }[];
393
+ message: string;
394
+ };
395
+ interface Focusable {
396
+ focus: () => void;
397
+ }
398
+ type EditTrigger = {
399
+ kind: 'type';
400
+ key: string;
401
+ } | 'enter' | 'click' | 'doubleClick';
402
+ interface CellViewProps<V> {
403
+ value: V;
404
+ typeConfig?: unknown;
405
+ validation?: ValidationRule[];
406
+ /** Stable id of the column. Cell components can use it to derive unique DOM ids. */
407
+ columnId: string;
408
+ /** Stable key of the row. Cell components can use it to derive unique DOM ids. */
409
+ rowKey: string;
410
+ /** Whether the cell is editable. Used to conditionally render placeholders (don't show them for read-only cells). */
411
+ isEditable?: boolean;
412
+ }
413
+ interface CellEditProps<V> {
414
+ value: V;
415
+ onChange(value: V): void;
416
+ onCommit: () => void;
417
+ onCancel: () => void;
418
+ /**
419
+ * Signals that the cell is starting an editing operation that will move focus
420
+ * outside the table (e.g., opening a media manager or a modal). Calling this
421
+ * sets isEditing=true so the table does not clear cell focus while the
422
+ * external UI is open. Pair with onCommit (after the operation succeeds)
423
+ * or onCancel (if the user dismisses without a value change).
424
+ */
425
+ onStartEdit?: () => void;
426
+ /** Ref to the focusable input element. Used for type-to-edit (focusing the input when user starts typing on a focused cell). */
427
+ inputRef?: MutableRefObject<Focusable | undefined | null>;
428
+ typeConfig?: unknown;
429
+ /** How edit mode was triggered. Edit components can use this to customize behavior (e.g., date picker auto-opens on 'type'). */
430
+ editTrigger?: EditTrigger | null;
431
+ /** Column-level validation rules. Edit components can derive UI behavior (e.g., maxLength blocking/tooltip) from these. */
432
+ validation?: ValidationRule[];
433
+ /** Stable id of the column. Cell components can use it to derive unique DOM ids. */
434
+ columnId: string;
435
+ /** Stable key of the row. Cell components can use it to derive unique DOM ids. */
436
+ rowKey: string;
437
+ }
438
+ /**
439
+ * Props passed to a cell type's optional `EditWrapper`. The table mounts the
440
+ * wrapper around the cell content and keeps it mounted across the edit↔view
441
+ * transition, so the wrapper can own behavior that must outlive the inline
442
+ * editor (e.g. a reference cell navigating to an overlay and refreshing on
443
+ * return). The wrapper hands anything the editor needs down via its own context.
444
+ */
445
+ interface CellEditWrapperProps {
446
+ /** The column's typeConfig (same value handed to the cell's Edit/View). */
447
+ typeConfig?: unknown;
448
+ /** Stable id of the column. */
449
+ columnId: string;
450
+ /** Stable key of the row. */
451
+ rowKey: string;
452
+ /** The cell content (the Edit or View component) to render inside the wrapper. */
453
+ children: ReactNode;
454
+ }
455
+ type EditableCellContextMenuAction = 'copy' | 'cut' | 'paste' | 'clear';
456
+ interface EditableCellContextMenuActionContext<V> {
457
+ /** Current cell value, including pending or draft edits. */
458
+ value: V;
459
+ /** Field metadata associated with the column, when available. */
460
+ field?: Field;
461
+ /** Stable key of the row. */
462
+ rowKey: string;
463
+ /** Stable id of the column. */
464
+ columnId: string;
465
+ }
466
+ interface EditableCellContextMenuActionConfig<V> {
467
+ /** Returning a non-empty string disables the action and shows the tooltip. */
468
+ disabledTooltip(context: EditableCellContextMenuActionContext<V>): string | undefined;
469
+ }
470
+ /**
471
+ * The editable-cell slot of a field type definition: how a cell of that type
472
+ * renders, edits, and moves through the clipboard. The definition's key
473
+ * identifies the type and the definition's `value` owns validation, so the
474
+ * slot carries neither.
475
+ *
476
+ * Members that take `V` use method syntax so a definition typed with a
477
+ * concrete value type stays assignable where a loosely typed definition is
478
+ * expected (see `FieldTypeDefinition`).
479
+ */
480
+ interface EditableCellConfig<V> {
481
+ /** Render cell in view mode (read-only display). */
482
+ ViewComponent(props: CellViewProps<V>): ReactElement | null;
483
+ /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */
484
+ EditComponent?(props: CellEditProps<V>): ReactElement | null;
485
+ /** Serialize value to clipboard string. */
486
+ serialize?(value: V): string;
487
+ /** Deserialize clipboard string to value. */
488
+ deserialize?(raw: string): V;
489
+ /** Can this cell type be edited? (default: true) */
490
+ editable?: boolean;
491
+ /** Availability of Cairo's built-in cell context-menu actions. */
492
+ contextMenu?: Partial<Record<EditableCellContextMenuAction, EditableCellContextMenuActionConfig<V>>>;
493
+ /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */
494
+ toggleValue?(value: V): V;
495
+ /** Enter edit mode on single click (e.g., image cell with no value). */
496
+ editOnClick?(value: V): boolean;
497
+ /** Show the EditComponent when the cell is focused, without entering edit mode.
498
+ * Keyboard navigation remains active. Similar to toggleValue but without toggling. */
499
+ showEditWhenFocused?: boolean;
500
+ /** Optional wrapper component the cell type defines to own behavior that must
501
+ * outlive the inline editor. Mounted around the cell content and kept mounted
502
+ * across the edit↔view transition. */
503
+ EditWrapper?: ComponentType<CellEditWrapperProps>;
504
+ /** Cell content can grow past row height when focused. Only applies to
505
+ * showEditWhenFocused cells. */
506
+ growable?: boolean;
507
+ /** Called on type-to-edit. Return object with cleared value and/or prevent flag.
508
+ * Return undefined to block the key. Return {} to enter edit mode without changing the value. */
509
+ onTypeToEdit?(params: {
510
+ key: string;
511
+ validation?: ValidationRule[];
512
+ }): {
513
+ value?: V;
514
+ } | undefined;
515
+ /** Optional hook to normalize the committed value (e.g. auto-prepend https://).
516
+ * Called before the edit commits; the value is written back before committing. */
517
+ normalizeOnCommit?(value: V): V;
518
+ /** When true, type-to-edit flushes the edit-mode render synchronously and
519
+ * focuses the input within the same keydown event, then lets the browser's
520
+ * default action deliver the keystroke to the now-focused input naturally.
521
+ * Use for cells that wrap a controlled input whose value can't be seeded via props. */
522
+ nativeTypeToEdit?: boolean;
523
+ }
524
+
525
+ type SortOrder = 'asc' | 'desc';
526
+ type SortOrderWithNone = SortOrder | undefined;
527
+ /**
528
+ * @deprecated always option is deprecated
529
+ */
530
+ type SortModeDeprecated = 'always';
531
+ type SortMode = SortModeDeprecated | SortOrderWithNone[];
532
+
533
+ /**
534
+ * `ComputedQuery` — cut here because it has its own bundle.
535
+ * Full shape: `types/ComputedQuery.d.ts`.
536
+ */
537
+ interface ComputedQuery<F = any> {
538
+ [key: string]: unknown;
539
+ }
540
+
541
+ interface KeyedItem<T> {
542
+ item: T;
543
+ key: string;
544
+ id: string;
545
+ pageIndex: number;
546
+ indexWithinPage: number;
547
+ index: number;
548
+ }
549
+
550
+ /**
551
+ * Canonical field type keys (UPPER_SNAKE_CASE).
552
+ * The map is keyed by these values; incoming camelCase strings
553
+ * are normalised before lookup.
554
+ */
555
+ type FieldType = 'SHORT_TEXT' | 'LONG_TEXT' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'DATE_TIME' | 'DATETIME' | 'TIME' | 'URL' | 'EMAIL' | 'IMAGE' | 'MEDIA_GALLERY' | 'AUDIO' | 'DOCUMENT' | 'MULTI_DOCUMENT' | 'RICH_TEXT' | 'RICH_CONTENT' | 'REFERENCE' | 'MULTI_REFERENCE' | 'OBJECT' | 'ARRAY' | 'ADDRESS' | 'COLOR' | 'INTEGER' | 'DECIMAL' | 'CHECKBOX' | 'DROPDOWN' | 'FILES' | 'MULTI_SELECT';
556
+
557
+ type TableColumnBase<T = any> = Omit<TableColumn$1<T>, 'sortDescending' | 'sortable' | 'infoTooltipProps' | 'style' | 'titleSuffix'> & {
558
+ style?: CSSProperties | ((column: TableColumn$1, rowData: KeyedItem<T>, rowNum: number) => CSSProperties);
559
+ reorderDisabled?: boolean;
560
+ defaultSortOrder?: SortOrder;
561
+ sortMode?: SortMode;
562
+ searchable?: boolean;
563
+ infoTooltipProps?: TableColumn$1['infoTooltipProps'] & {
564
+ panelContent?: ReactNode;
565
+ };
566
+ mobile?: ColumnMobileConfig;
567
+ /**
568
+ * The field type string used to resolve a prefix icon for the column.
569
+ * Cairo maps this to the appropriate icon internally.
570
+ * @external
571
+ */
572
+ fieldType?: FieldType;
573
+ /**
574
+ * Explicit prefix icons for the column (e.g. a custom field type's
575
+ * `display.icons`). When present, used instead of the `fieldType` mapping.
576
+ * @external
577
+ */
578
+ fieldTypeIcons?: {
579
+ Small: ComponentType;
580
+ Medium: ComponentType;
581
+ };
582
+ /**
583
+ * Whether the field contains personally identifiable information.
584
+ * @external
585
+ */
586
+ isPii?: boolean;
587
+ /**
588
+ * only for cms. Whether this is a system-managed field.
589
+ * @external
590
+ */
591
+ isSystem?: boolean;
592
+ /**
593
+ * Whether this is the primary display field.
594
+ * @external
595
+ */
596
+ isPrimary?: boolean;
597
+ /**
598
+ * Column-level validation rules. When a `required` rule is present, a required indicator is shown in the custom columns panel.
599
+ * @external
600
+ */
601
+ validation?: ValidationRule[];
602
+ };
603
+ interface TableColumnOptional<T> extends TableColumnBase<T> {
604
+ id?: string;
605
+ name?: string;
606
+ hiddenFromCustomColumnsSelection?: undefined | true;
607
+ hideable?: undefined;
608
+ defaultHidden?: undefined;
609
+ }
610
+ interface TableColumnCustom<T> extends TableColumnBase<T> {
611
+ id: string;
612
+ name: string;
613
+ hiddenFromCustomColumnsSelection?: false;
614
+ hideable?: true;
615
+ defaultHidden?: boolean;
616
+ }
617
+ interface TableColumnCustomOptionalName<T> extends TableColumnBase<T> {
618
+ id: string;
619
+ name?: string;
620
+ title: TableColumnBase['title'];
621
+ hiddenFromCustomColumnsSelection?: false;
622
+ hideable?: true;
623
+ defaultHidden?: boolean;
624
+ }
625
+ interface TableColumnCustomDefaultHidden<T> extends TableColumnBase<T> {
626
+ id: string;
627
+ name?: string;
628
+ title: TableColumnBase['title'];
629
+ hiddenFromCustomColumnsSelection?: false;
630
+ hideable: false;
631
+ defaultHidden?: undefined | false;
632
+ }
633
+ type CustomColumnConfig<T> = TableColumnOptional<T> | TableColumnCustom<T> | TableColumnCustomDefaultHidden<T> | TableColumnCustomOptionalName<T>;
634
+ interface SortableColumnConfig<T> extends TableColumnBase<T> {
635
+ id: string;
636
+ sortable: true;
637
+ }
638
+ interface NotSortableColumnConfig<T> extends TableColumnBase<T> {
639
+ id?: string;
640
+ sortable?: false;
641
+ }
642
+ type SortableConfig<T> = SortableColumnConfig<T> | NotSortableColumnConfig<T>;
643
+ /**
644
+ * `TableColumn` — cut here because it has its own bundle.
645
+ * Full shape: `types/TableColumn.d.ts`.
646
+ */
647
+ type TableColumn<T = any> = CustomColumnConfig<T> & SortableConfig<T>;
648
+ type ColumnMobileConfig = {
649
+ /**
650
+ * Which mobile column to display in.
651
+ * - 'first': Stacks vertically with other 'first' columns
652
+ * - 'second': Displays as standalone second column
653
+ * - undefined: Hidden on mobile
654
+ */
655
+ column: 'first';
656
+ /**
657
+ * Sort order within 'first' column (lower appears higher).
658
+ * Only relevant when column is 'first'.
659
+ * @default Infinity
660
+ */
661
+ order?: number;
662
+ } | {
663
+ /**
664
+ * Which mobile column to display in.
665
+ * - 'first': Stacks vertically with other 'first' columns
666
+ * - 'second': Displays as standalone second column
667
+ * - undefined: Hidden on mobile
668
+ */
669
+ column?: 'second';
670
+ };
671
+
672
+ interface ReferenceItem {
673
+ id: string;
674
+ name: string;
675
+ image?: string;
676
+ }
677
+ type RefFieldType = 'IMAGE';
678
+ interface RefSchemaField {
679
+ type: RefFieldType;
680
+ }
681
+ interface RefSchema {
682
+ id: string;
683
+ /** The id of the referenced collection, used to navigate to it from the cell editor. */
684
+ collectionId?: string;
685
+ displayField: string;
686
+ idField: string;
687
+ fields?: Record<string, RefSchemaField | undefined>;
688
+ }
689
+ interface ReferenceTypeConfig {
690
+ refSchema: RefSchema;
691
+ fetchReferenceItems: (query: ComputedQuery) => Promise<{
692
+ items: ReferenceItem[];
693
+ total: number;
694
+ }>;
695
+ renderFooter?: () => React.ReactNode;
696
+ }
697
+
698
+ interface AddressCellTypeConfig {
699
+ /**
700
+ * Atlas service used to fetch address suggestions. Defaults to the SDK-backed
701
+ * WixAtlasService, which requires Wix runtime/auth context. Inject a custom
702
+ * implementation for tests or non-Wix consumers.
703
+ */
704
+ atlasService?: AtlasService;
705
+ }
706
+
707
+ interface RichTextCellTypeConfig {
708
+ textStyle?: RichTextStyleVariables;
709
+ }
710
+ interface Cell {
711
+ rowKey: string;
712
+ columnId: string;
713
+ }
714
+ interface CellBorder {
715
+ top: boolean;
716
+ bottom: boolean;
717
+ left: boolean;
718
+ right: boolean;
719
+ }
720
+
721
+ interface ValidationResult {
722
+ valid: boolean;
723
+ errors?: string[];
724
+ }
725
+ interface CellType {
726
+ type: keyof CellTypeConfigMap;
727
+ /** Render cell in view mode (read-only display) */
728
+ ViewComponent: ComponentType<CellViewProps<any>>;
729
+ /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */
730
+ EditComponent?: ComponentType<CellEditProps<any>>;
731
+ /** Serialize value to clipboard string */
732
+ serialize?: (value: any) => string;
733
+ /** Deserialize clipboard string to value */
734
+ deserialize?: (raw: string) => any;
735
+ /** Validate a cell value. Return null if valid, or error message string.
736
+ * `translate` is optional so cell types whose validate doesn't need
737
+ * localization (text/number/date/…) can keep their existing call sites.
738
+ * Cell types that DO localize (array/object) must be called with a translator. */
739
+ validate?: (value: any, rules?: ValidationRule[], translate?: Translate) => string | null;
740
+ /** Can this cell type be edited? (default: true) */
741
+ editable?: boolean;
742
+ /** Availability of Cairo's built-in cell context-menu actions. */
743
+ contextMenu?: EditableCellConfig<unknown>['contextMenu'];
744
+ /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */
745
+ toggleValue?: (value: any) => any;
746
+ /** Enter edit mode on single click (e.g., image cell with no value). */
747
+ editOnClick?: (value: any) => boolean;
748
+ /** Show the EditComponent when the cell is focused, without entering edit mode.
749
+ * Keyboard navigation remains active. Similar to toggleValue but without toggling. */
750
+ showEditWhenFocused?: boolean;
751
+ /** Optional wrapper component the cell type defines to own behavior that must
752
+ * outlive the inline editor. EditableCell mounts it around the cell content
753
+ * and keeps it mounted across the edit↔view transition (e.g. a reference cell
754
+ * navigating to an overlay and refreshing the table on return). The wrapper
755
+ * hands anything the editor needs down via its own context. */
756
+ EditWrapper?: ComponentType<CellEditWrapperProps>;
757
+ /** Cell content can grow past row height when focused (e.g. multi-document
758
+ * wraps chips into multiple rows). The framework releases the bottom anchor
759
+ * and lays an opaque base under the selection tint so the overflow doesn't
760
+ * bleed adjacent rows through.
761
+ * Only applies to showEditWhenFocused cells — others release the bottom
762
+ * anchor via :editing already. */
763
+ growable?: boolean;
764
+ /** Called on type-to-edit. Return object with cleared value and/or prevent flag.
765
+ * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.
766
+ * Return undefined to block the key. Return {} to enter edit mode without changing the value. */
767
+ onTypeToEdit?: (params: {
768
+ key: string;
769
+ validation?: ValidationRule[];
770
+ }) => {
771
+ value?: any;
772
+ } | undefined;
773
+ /** Optional hook to normalize the committed value (e.g. auto-prepend https://).
774
+ * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).
775
+ * The value is written back to editingValue via runInAction before committing. */
776
+ normalizeOnCommit?: (value: any) => any;
777
+ /** When true, type-to-edit flushes the edit-mode render synchronously and
778
+ * focuses the input within the same keydown event, then lets the browser's
779
+ * default action deliver the keystroke to the now-focused input naturally
780
+ * (no preventDefault, no programmatic value injection).
781
+ * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a
782
+ * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */
783
+ nativeTypeToEdit?: boolean;
784
+ }
785
+ interface CellTypeConfigMap {
786
+ text: never;
787
+ number: never;
788
+ boolean: never;
789
+ url: never;
790
+ email: never;
791
+ color: never;
792
+ date: never;
793
+ time: never;
794
+ datetime: never;
795
+ object: never;
796
+ array: never;
797
+ image: never;
798
+ document: never;
799
+ multiDocument: never;
800
+ richContent: never;
801
+ video: never;
802
+ audio: never;
803
+ richText: RichTextCellTypeConfig;
804
+ mediaGallery: never;
805
+ reference: ReferenceTypeConfig;
806
+ multiReference: ReferenceTypeConfig;
807
+ address: AddressCellTypeConfig;
808
+ /** An inline custom cell: the full cell contract minus the registry key.
809
+ * Authorable directly on a column (`cellType: 'custom'` + `typeConfig`),
810
+ * and also produced by the column builder when a schema field's type
811
+ * definition (registered via the source's `fieldTypes`) has an
812
+ * `editableTable` slot. */
813
+ custom: Omit<CellType, 'type'>;
814
+ }
815
+ interface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {
816
+ id: string;
817
+ /** Column type — maps to a CellType in the registry */
818
+ cellType: keyof CellTypeConfigMap;
819
+ /** Extract the cell value from the row data */
820
+ getValue: (item: T) => any;
821
+ /** Field metadata associated with the column, when available. */
822
+ field?: Field;
823
+ /** Return updated item with new cell value (immutable) */
824
+ setValue?: (item: T, value: any) => T;
825
+ /** Column-level validation rules */
826
+ validation?: ValidationRule[];
827
+ /** Is this column editable? (default: true if setValue exists) */
828
+ editable?: boolean | ((item: T) => boolean);
829
+ /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */
830
+ isPrimary?: boolean;
831
+ /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */
832
+ isSystem?: boolean;
833
+ }
834
+ type EditableColumn<T, C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap> = C extends C ? EditableColumnBase<T> & {
835
+ cellType: C;
836
+ typeConfig?: CellTypeConfigMap[C] extends never ? never : CellTypeConfigMap[C];
837
+ } : never;
838
+
839
+ export type { Cell, CellBorder, CellType, CellTypeConfigMap, EditableColumn, RichTextCellTypeConfig, ValidationResult, ValidationRule };