@wix/patterns 1.364.0 → 1.366.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 (754) 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/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  10. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  12. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  14. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  16. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  19. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  20. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  21. package/dist/cjs/components/EditableTable/EditableCell.js +148 -0
  22. package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -0
  23. package/dist/cjs/components/EditableTable/EditableCell.st.css +68 -0
  24. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +28 -0
  25. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -0
  26. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +93 -0
  27. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -0
  28. package/dist/cjs/components/EditableTable/EditableTable.js +93 -0
  29. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -0
  30. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +81 -0
  31. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -0
  32. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +227 -0
  33. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -0
  34. package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js +27 -0
  35. package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -0
  36. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.js +53 -0
  37. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.js.map +1 -0
  38. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
  39. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +23 -0
  40. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -0
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js +24 -0
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js.map +1 -0
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.js +40 -0
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.js.map +1 -0
  45. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
  46. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +23 -0
  47. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -0
  48. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.uni.driver.js +12 -0
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.uni.driver.js.map +1 -0
  50. package/dist/cjs/components/EditableTable/cellTypes/boolean/index.js +29 -0
  51. package/dist/cjs/components/EditableTable/cellTypes/boolean/index.js.map +1 -0
  52. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.js +100 -0
  53. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.js.map +1 -0
  54. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
  55. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +23 -0
  56. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -0
  57. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.uni.driver.js +20 -0
  58. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.uni.driver.js.map +1 -0
  59. package/dist/cjs/components/EditableTable/cellTypes/date/View.js +39 -0
  60. package/dist/cjs/components/EditableTable/cellTypes/date/View.js.map +1 -0
  61. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css +4 -0
  62. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +23 -0
  63. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -0
  64. package/dist/cjs/components/EditableTable/cellTypes/date/View.uni.driver.js +12 -0
  65. package/dist/cjs/components/EditableTable/cellTypes/date/View.uni.driver.js.map +1 -0
  66. package/dist/cjs/components/EditableTable/cellTypes/date/index.js +45 -0
  67. package/dist/cjs/components/EditableTable/cellTypes/date/index.js.map +1 -0
  68. package/dist/cjs/components/EditableTable/cellTypes/index.js +19 -0
  69. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -0
  70. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +52 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js.map +1 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +23 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.uni.driver.js +20 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.uni.driver.js.map +1 -0
  77. package/dist/cjs/components/EditableTable/cellTypes/number/View.js +24 -0
  78. package/dist/cjs/components/EditableTable/cellTypes/number/View.js.map +1 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css +5 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +23 -0
  81. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -0
  82. package/dist/cjs/components/EditableTable/cellTypes/number/View.uni.driver.js +12 -0
  83. package/dist/cjs/components/EditableTable/cellTypes/number/View.uni.driver.js.map +1 -0
  84. package/dist/cjs/components/EditableTable/cellTypes/number/index.js +39 -0
  85. package/dist/cjs/components/EditableTable/cellTypes/number/index.js.map +1 -0
  86. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js +85 -0
  87. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js.map +1 -0
  88. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
  89. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +23 -0
  90. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -0
  91. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js +22 -0
  92. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +1 -0
  93. package/dist/cjs/components/EditableTable/cellTypes/select/View.js +30 -0
  94. package/dist/cjs/components/EditableTable/cellTypes/select/View.js.map +1 -0
  95. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css +4 -0
  96. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js +23 -0
  97. package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -0
  98. package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js +12 -0
  99. package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js.map +1 -0
  100. package/dist/cjs/components/EditableTable/cellTypes/select/index.js +20 -0
  101. package/dist/cjs/components/EditableTable/cellTypes/select/index.js.map +1 -0
  102. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js +90 -0
  103. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js.map +1 -0
  104. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
  105. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +24 -0
  106. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -0
  107. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.uni.driver.js +21 -0
  108. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.uni.driver.js.map +1 -0
  109. package/dist/cjs/components/EditableTable/cellTypes/text/View.js +24 -0
  110. package/dist/cjs/components/EditableTable/cellTypes/text/View.js.map +1 -0
  111. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css +4 -0
  112. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +23 -0
  113. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -0
  114. package/dist/cjs/components/EditableTable/cellTypes/text/View.uni.driver.js +12 -0
  115. package/dist/cjs/components/EditableTable/cellTypes/text/View.uni.driver.js.map +1 -0
  116. package/dist/cjs/components/EditableTable/cellTypes/text/index.js +24 -0
  117. package/dist/cjs/components/EditableTable/cellTypes/text/index.js.map +1 -0
  118. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.js +62 -0
  119. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.js.map +1 -0
  120. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
  121. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +23 -0
  122. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -0
  123. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.uni.driver.js +20 -0
  124. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.uni.driver.js.map +1 -0
  125. package/dist/cjs/components/EditableTable/cellTypes/url/View.js +51 -0
  126. package/dist/cjs/components/EditableTable/cellTypes/url/View.js.map +1 -0
  127. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css +22 -0
  128. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +25 -0
  129. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -0
  130. package/dist/cjs/components/EditableTable/cellTypes/url/View.uni.driver.js +17 -0
  131. package/dist/cjs/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -0
  132. package/dist/cjs/components/EditableTable/cellTypes/url/index.js +31 -0
  133. package/dist/cjs/components/EditableTable/cellTypes/url/index.js.map +1 -0
  134. package/dist/cjs/components/EditableTable/index.js +17 -0
  135. package/dist/cjs/components/EditableTable/index.js.map +1 -0
  136. package/dist/cjs/components/EditableTable/types.js +9 -0
  137. package/dist/cjs/components/EditableTable/types.js.map +1 -0
  138. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +83 -0
  139. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -0
  140. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js +34 -0
  141. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js.map +1 -0
  142. package/dist/cjs/components/EditableTable/useClipboardHandler.js +71 -0
  143. package/dist/cjs/components/EditableTable/useClipboardHandler.js.map +1 -0
  144. package/dist/cjs/components/EditableTable/useEditableTableCollectionSyncProps.js +13 -0
  145. package/dist/cjs/components/EditableTable/useEditableTableCollectionSyncProps.js.map +1 -0
  146. package/dist/cjs/components/EditableTable/useEditableTableContextMenu.js +96 -0
  147. package/dist/cjs/components/EditableTable/useEditableTableContextMenu.js.map +1 -0
  148. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +92 -0
  149. package/dist/cjs/components/EditableTable/useKeyboardNavigation.js.map +1 -0
  150. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  151. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  152. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  153. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  154. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  155. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  156. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  157. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  158. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  159. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  160. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  161. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  162. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  163. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  164. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  165. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  166. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  167. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  168. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  169. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  170. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  171. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  172. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  173. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  174. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  175. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  176. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  177. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  178. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  179. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  180. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  181. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  182. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  183. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  184. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  185. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  186. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  187. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  188. package/dist/cjs/components/Suggestions/Suggestions.js +20 -19
  189. package/dist/cjs/components/Suggestions/Suggestions.js.map +1 -1
  190. package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js +2 -2
  191. package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
  192. package/dist/cjs/components/Suggestions/types.js.map +1 -1
  193. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  194. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  195. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  196. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  197. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  198. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  199. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  200. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  201. package/dist/cjs/components/common.st.css.js +4 -4
  202. package/dist/cjs/components/common.st.css.js.map +1 -1
  203. package/dist/cjs/hooks/useEditableTableCollection.js +24 -0
  204. package/dist/cjs/hooks/useEditableTableCollection.js.map +1 -0
  205. package/dist/cjs/index.js +21 -0
  206. package/dist/cjs/index.js.map +1 -1
  207. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  208. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  209. package/dist/cjs/state/EditableTable/CellInteractionState.js +282 -0
  210. package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -0
  211. package/dist/cjs/state/EditableTable/CellValueState.js +263 -0
  212. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -0
  213. package/dist/cjs/state/EditableTable/ClipboardState.js +198 -0
  214. package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -0
  215. package/dist/cjs/state/EditableTable/EditableTableState.js +171 -0
  216. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -0
  217. package/dist/cjs/state/EditableTable/MutationState.js +115 -0
  218. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -0
  219. package/dist/cjs/state/EditableTable/index.js +7 -0
  220. package/dist/cjs/state/EditableTable/index.js.map +1 -0
  221. package/dist/cjs/state/EditableTable/types.js +4 -0
  222. package/dist/cjs/state/EditableTable/types.js.map +1 -0
  223. package/dist/cjs/state/EditableTable/utils.js +71 -0
  224. package/dist/cjs/state/EditableTable/utils.js.map +1 -0
  225. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  226. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  227. package/dist/cjs/styles.global.css +1 -1
  228. package/dist/cjs/testkit/jsdom.js +3 -1
  229. package/dist/cjs/testkit/jsdom.js.map +1 -1
  230. package/dist/cjs/testkit/playwright.js +3 -1
  231. package/dist/cjs/testkit/playwright.js.map +1 -1
  232. package/dist/cjs/testkit/puppeteer.js +3 -1
  233. package/dist/cjs/testkit/puppeteer.js.map +1 -1
  234. package/dist/cjs/version.js +1 -1
  235. package/dist/cjs/version.js.map +1 -1
  236. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  237. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  238. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  239. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  240. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  241. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  242. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  243. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  244. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  245. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  246. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  247. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  248. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  249. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  250. package/dist/esm/components/EditableTable/EditableCell.js +67 -0
  251. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -0
  252. package/dist/esm/components/EditableTable/EditableCell.st.css +68 -0
  253. package/dist/esm/components/EditableTable/EditableCell.st.css.js +15 -0
  254. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -0
  255. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +79 -0
  256. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -0
  257. package/dist/esm/components/EditableTable/EditableTable.js +34 -0
  258. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -0
  259. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +67 -0
  260. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -0
  261. package/dist/esm/components/EditableTable/EditableTableContextMenu.js +160 -0
  262. package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -0
  263. package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js +23 -0
  264. package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -0
  265. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js +23 -0
  266. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js.map +1 -0
  267. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
  268. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +15 -0
  269. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -0
  270. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js +16 -0
  271. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js.map +1 -0
  272. package/dist/esm/components/EditableTable/cellTypes/boolean/View.js +7 -0
  273. package/dist/esm/components/EditableTable/cellTypes/boolean/View.js.map +1 -0
  274. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
  275. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +15 -0
  276. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -0
  277. package/dist/esm/components/EditableTable/cellTypes/boolean/View.uni.driver.js +8 -0
  278. package/dist/esm/components/EditableTable/cellTypes/boolean/View.uni.driver.js.map +1 -0
  279. package/dist/esm/components/EditableTable/cellTypes/boolean/index.js +26 -0
  280. package/dist/esm/components/EditableTable/cellTypes/boolean/index.js.map +1 -0
  281. package/dist/esm/components/EditableTable/cellTypes/date/Edit.js +54 -0
  282. package/dist/esm/components/EditableTable/cellTypes/date/Edit.js.map +1 -0
  283. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
  284. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +15 -0
  285. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -0
  286. package/dist/esm/components/EditableTable/cellTypes/date/Edit.uni.driver.js +13 -0
  287. package/dist/esm/components/EditableTable/cellTypes/date/Edit.uni.driver.js.map +1 -0
  288. package/dist/esm/components/EditableTable/cellTypes/date/View.js +20 -0
  289. package/dist/esm/components/EditableTable/cellTypes/date/View.js.map +1 -0
  290. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css +4 -0
  291. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +15 -0
  292. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -0
  293. package/dist/esm/components/EditableTable/cellTypes/date/View.uni.driver.js +8 -0
  294. package/dist/esm/components/EditableTable/cellTypes/date/View.uni.driver.js.map +1 -0
  295. package/dist/esm/components/EditableTable/cellTypes/date/index.js +40 -0
  296. package/dist/esm/components/EditableTable/cellTypes/date/index.js.map +1 -0
  297. package/dist/esm/components/EditableTable/cellTypes/index.js +17 -0
  298. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -0
  299. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +23 -0
  300. package/dist/esm/components/EditableTable/cellTypes/number/Edit.js.map +1 -0
  301. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
  302. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +15 -0
  303. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -0
  304. package/dist/esm/components/EditableTable/cellTypes/number/Edit.uni.driver.js +13 -0
  305. package/dist/esm/components/EditableTable/cellTypes/number/Edit.uni.driver.js.map +1 -0
  306. package/dist/esm/components/EditableTable/cellTypes/number/View.js +5 -0
  307. package/dist/esm/components/EditableTable/cellTypes/number/View.js.map +1 -0
  308. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css +5 -0
  309. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +15 -0
  310. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -0
  311. package/dist/esm/components/EditableTable/cellTypes/number/View.uni.driver.js +8 -0
  312. package/dist/esm/components/EditableTable/cellTypes/number/View.uni.driver.js.map +1 -0
  313. package/dist/esm/components/EditableTable/cellTypes/number/index.js +30 -0
  314. package/dist/esm/components/EditableTable/cellTypes/number/index.js.map +1 -0
  315. package/dist/esm/components/EditableTable/cellTypes/select/Edit.js +38 -0
  316. package/dist/esm/components/EditableTable/cellTypes/select/Edit.js.map +1 -0
  317. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
  318. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +15 -0
  319. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -0
  320. package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js +15 -0
  321. package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +1 -0
  322. package/dist/esm/components/EditableTable/cellTypes/select/View.js +10 -0
  323. package/dist/esm/components/EditableTable/cellTypes/select/View.js.map +1 -0
  324. package/dist/esm/components/EditableTable/cellTypes/select/View.st.css +4 -0
  325. package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js +15 -0
  326. package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -0
  327. package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js +8 -0
  328. package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js.map +1 -0
  329. package/dist/esm/components/EditableTable/cellTypes/select/index.js +15 -0
  330. package/dist/esm/components/EditableTable/cellTypes/select/index.js.map +1 -0
  331. package/dist/esm/components/EditableTable/cellTypes/text/Edit.js +48 -0
  332. package/dist/esm/components/EditableTable/cellTypes/text/Edit.js.map +1 -0
  333. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
  334. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +15 -0
  335. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -0
  336. package/dist/esm/components/EditableTable/cellTypes/text/Edit.uni.driver.js +14 -0
  337. package/dist/esm/components/EditableTable/cellTypes/text/Edit.uni.driver.js.map +1 -0
  338. package/dist/esm/components/EditableTable/cellTypes/text/View.js +5 -0
  339. package/dist/esm/components/EditableTable/cellTypes/text/View.js.map +1 -0
  340. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css +4 -0
  341. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +15 -0
  342. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -0
  343. package/dist/esm/components/EditableTable/cellTypes/text/View.uni.driver.js +8 -0
  344. package/dist/esm/components/EditableTable/cellTypes/text/View.uni.driver.js.map +1 -0
  345. package/dist/esm/components/EditableTable/cellTypes/text/index.js +15 -0
  346. package/dist/esm/components/EditableTable/cellTypes/text/index.js.map +1 -0
  347. package/dist/esm/components/EditableTable/cellTypes/url/Edit.js +26 -0
  348. package/dist/esm/components/EditableTable/cellTypes/url/Edit.js.map +1 -0
  349. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
  350. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +15 -0
  351. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -0
  352. package/dist/esm/components/EditableTable/cellTypes/url/Edit.uni.driver.js +13 -0
  353. package/dist/esm/components/EditableTable/cellTypes/url/Edit.uni.driver.js.map +1 -0
  354. package/dist/esm/components/EditableTable/cellTypes/url/View.js +7 -0
  355. package/dist/esm/components/EditableTable/cellTypes/url/View.js.map +1 -0
  356. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css +22 -0
  357. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +15 -0
  358. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -0
  359. package/dist/esm/components/EditableTable/cellTypes/url/View.uni.driver.js +13 -0
  360. package/dist/esm/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -0
  361. package/dist/esm/components/EditableTable/cellTypes/url/index.js +22 -0
  362. package/dist/esm/components/EditableTable/cellTypes/url/index.js.map +1 -0
  363. package/dist/esm/components/EditableTable/index.js +3 -0
  364. package/dist/esm/components/EditableTable/index.js.map +1 -0
  365. package/dist/esm/components/EditableTable/types.js +5 -0
  366. package/dist/esm/components/EditableTable/types.js.map +1 -0
  367. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +80 -0
  368. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -0
  369. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js +27 -0
  370. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js.map +1 -0
  371. package/dist/esm/components/EditableTable/useClipboardHandler.js +61 -0
  372. package/dist/esm/components/EditableTable/useClipboardHandler.js.map +1 -0
  373. package/dist/esm/components/EditableTable/useEditableTableCollectionSyncProps.js +6 -0
  374. package/dist/esm/components/EditableTable/useEditableTableCollectionSyncProps.js.map +1 -0
  375. package/dist/esm/components/EditableTable/useEditableTableContextMenu.js +80 -0
  376. package/dist/esm/components/EditableTable/useEditableTableContextMenu.js.map +1 -0
  377. package/dist/esm/components/EditableTable/useKeyboardNavigation.js +83 -0
  378. package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -0
  379. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  380. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  381. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  382. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  383. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  384. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  385. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  386. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  387. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  388. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  389. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  390. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  391. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  392. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  393. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  394. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  395. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  396. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  397. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  398. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  399. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  400. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  401. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  402. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  403. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  404. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  405. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  406. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  407. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  408. package/dist/esm/components/Suggestions/Suggestions.js +7 -5
  409. package/dist/esm/components/Suggestions/Suggestions.js.map +1 -1
  410. package/dist/esm/components/Suggestions/Suggestions.uni.driver.js +3 -3
  411. package/dist/esm/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
  412. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  413. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  414. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  415. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  416. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  417. package/dist/esm/components/common.st.css.js +2 -2
  418. package/dist/esm/components/common.st.css.js.map +1 -1
  419. package/dist/esm/hooks/useEditableTableCollection.js +19 -0
  420. package/dist/esm/hooks/useEditableTableCollection.js.map +1 -0
  421. package/dist/esm/index.js +3 -0
  422. package/dist/esm/index.js.map +1 -1
  423. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  424. package/dist/esm/state/EditableTable/CellInteractionState.js +236 -0
  425. package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -0
  426. package/dist/esm/state/EditableTable/CellValueState.js +219 -0
  427. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -0
  428. package/dist/esm/state/EditableTable/ClipboardState.js +186 -0
  429. package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -0
  430. package/dist/esm/state/EditableTable/EditableTableState.js +148 -0
  431. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -0
  432. package/dist/esm/state/EditableTable/MutationState.js +82 -0
  433. package/dist/esm/state/EditableTable/MutationState.js.map +1 -0
  434. package/dist/esm/state/EditableTable/index.js +2 -0
  435. package/dist/esm/state/EditableTable/index.js.map +1 -0
  436. package/dist/esm/state/EditableTable/types.js +2 -0
  437. package/dist/esm/state/EditableTable/types.js.map +1 -0
  438. package/dist/esm/state/EditableTable/utils.js +55 -0
  439. package/dist/esm/state/EditableTable/utils.js.map +1 -0
  440. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  441. package/dist/esm/styles.global.css +1 -1
  442. package/dist/esm/testkit/jsdom.js +2 -0
  443. package/dist/esm/testkit/jsdom.js.map +1 -1
  444. package/dist/esm/testkit/playwright.js +2 -0
  445. package/dist/esm/testkit/playwright.js.map +1 -1
  446. package/dist/esm/testkit/puppeteer.js +2 -0
  447. package/dist/esm/testkit/puppeteer.js.map +1 -1
  448. package/dist/esm/version.js +1 -1
  449. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  450. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
  451. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  452. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  453. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  454. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  455. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  456. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  457. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  458. package/dist/types/components/EditableTable/EditableCell.d.ts +14 -0
  459. package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -0
  460. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +19 -0
  461. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -0
  462. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +161 -0
  463. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -0
  464. package/dist/types/components/EditableTable/EditableTable.d.ts +18 -0
  465. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -0
  466. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +324 -0
  467. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -0
  468. package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts +19 -0
  469. package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -0
  470. package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts +8 -0
  471. package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts.map +1 -0
  472. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.d.ts +4 -0
  473. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.d.ts.map +1 -0
  474. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts +14 -0
  475. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -0
  476. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.uni.driver.d.ts +18 -0
  477. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.uni.driver.d.ts.map +1 -0
  478. package/dist/types/components/EditableTable/cellTypes/boolean/View.d.ts +4 -0
  479. package/dist/types/components/EditableTable/cellTypes/boolean/View.d.ts.map +1 -0
  480. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts +14 -0
  481. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -0
  482. package/dist/types/components/EditableTable/cellTypes/boolean/View.uni.driver.d.ts +15 -0
  483. package/dist/types/components/EditableTable/cellTypes/boolean/View.uni.driver.d.ts.map +1 -0
  484. package/dist/types/components/EditableTable/cellTypes/boolean/index.d.ts +5 -0
  485. package/dist/types/components/EditableTable/cellTypes/boolean/index.d.ts.map +1 -0
  486. package/dist/types/components/EditableTable/cellTypes/date/Edit.d.ts +4 -0
  487. package/dist/types/components/EditableTable/cellTypes/date/Edit.d.ts.map +1 -0
  488. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts +14 -0
  489. package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -0
  490. package/dist/types/components/EditableTable/cellTypes/date/Edit.uni.driver.d.ts +22 -0
  491. package/dist/types/components/EditableTable/cellTypes/date/Edit.uni.driver.d.ts.map +1 -0
  492. package/dist/types/components/EditableTable/cellTypes/date/View.d.ts +4 -0
  493. package/dist/types/components/EditableTable/cellTypes/date/View.d.ts.map +1 -0
  494. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts +14 -0
  495. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -0
  496. package/dist/types/components/EditableTable/cellTypes/date/View.uni.driver.d.ts +15 -0
  497. package/dist/types/components/EditableTable/cellTypes/date/View.uni.driver.d.ts.map +1 -0
  498. package/dist/types/components/EditableTable/cellTypes/date/index.d.ts +5 -0
  499. package/dist/types/components/EditableTable/cellTypes/date/index.d.ts.map +1 -0
  500. package/dist/types/components/EditableTable/cellTypes/index.d.ts +11 -0
  501. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -0
  502. package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts +4 -0
  503. package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -0
  504. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts +14 -0
  505. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -0
  506. package/dist/types/components/EditableTable/cellTypes/number/Edit.uni.driver.d.ts +22 -0
  507. package/dist/types/components/EditableTable/cellTypes/number/Edit.uni.driver.d.ts.map +1 -0
  508. package/dist/types/components/EditableTable/cellTypes/number/View.d.ts +4 -0
  509. package/dist/types/components/EditableTable/cellTypes/number/View.d.ts.map +1 -0
  510. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts +14 -0
  511. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -0
  512. package/dist/types/components/EditableTable/cellTypes/number/View.uni.driver.d.ts +15 -0
  513. package/dist/types/components/EditableTable/cellTypes/number/View.uni.driver.d.ts.map +1 -0
  514. package/dist/types/components/EditableTable/cellTypes/number/index.d.ts +5 -0
  515. package/dist/types/components/EditableTable/cellTypes/number/index.d.ts.map +1 -0
  516. package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts +4 -0
  517. package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts.map +1 -0
  518. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts +14 -0
  519. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -0
  520. package/dist/types/components/EditableTable/cellTypes/select/Edit.uni.driver.d.ts +22 -0
  521. package/dist/types/components/EditableTable/cellTypes/select/Edit.uni.driver.d.ts.map +1 -0
  522. package/dist/types/components/EditableTable/cellTypes/select/View.d.ts +4 -0
  523. package/dist/types/components/EditableTable/cellTypes/select/View.d.ts.map +1 -0
  524. package/dist/types/components/EditableTable/cellTypes/select/View.st.css.d.ts +14 -0
  525. package/dist/types/components/EditableTable/cellTypes/select/View.st.css.d.ts.map +1 -0
  526. package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts +15 -0
  527. package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts.map +1 -0
  528. package/dist/types/components/EditableTable/cellTypes/select/index.d.ts +5 -0
  529. package/dist/types/components/EditableTable/cellTypes/select/index.d.ts.map +1 -0
  530. package/dist/types/components/EditableTable/cellTypes/text/Edit.d.ts +4 -0
  531. package/dist/types/components/EditableTable/cellTypes/text/Edit.d.ts.map +1 -0
  532. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts +15 -0
  533. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -0
  534. package/dist/types/components/EditableTable/cellTypes/text/Edit.uni.driver.d.ts +23 -0
  535. package/dist/types/components/EditableTable/cellTypes/text/Edit.uni.driver.d.ts.map +1 -0
  536. package/dist/types/components/EditableTable/cellTypes/text/View.d.ts +4 -0
  537. package/dist/types/components/EditableTable/cellTypes/text/View.d.ts.map +1 -0
  538. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts +14 -0
  539. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -0
  540. package/dist/types/components/EditableTable/cellTypes/text/View.uni.driver.d.ts +15 -0
  541. package/dist/types/components/EditableTable/cellTypes/text/View.uni.driver.d.ts.map +1 -0
  542. package/dist/types/components/EditableTable/cellTypes/text/index.d.ts +5 -0
  543. package/dist/types/components/EditableTable/cellTypes/text/index.d.ts.map +1 -0
  544. package/dist/types/components/EditableTable/cellTypes/url/Edit.d.ts +4 -0
  545. package/dist/types/components/EditableTable/cellTypes/url/Edit.d.ts.map +1 -0
  546. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts +14 -0
  547. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -0
  548. package/dist/types/components/EditableTable/cellTypes/url/Edit.uni.driver.d.ts +22 -0
  549. package/dist/types/components/EditableTable/cellTypes/url/Edit.uni.driver.d.ts.map +1 -0
  550. package/dist/types/components/EditableTable/cellTypes/url/View.d.ts +4 -0
  551. package/dist/types/components/EditableTable/cellTypes/url/View.d.ts.map +1 -0
  552. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts +16 -0
  553. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -0
  554. package/dist/types/components/EditableTable/cellTypes/url/View.uni.driver.d.ts +18 -0
  555. package/dist/types/components/EditableTable/cellTypes/url/View.uni.driver.d.ts.map +1 -0
  556. package/dist/types/components/EditableTable/cellTypes/url/index.d.ts +5 -0
  557. package/dist/types/components/EditableTable/cellTypes/url/index.d.ts.map +1 -0
  558. package/dist/types/components/EditableTable/index.d.ts +3 -0
  559. package/dist/types/components/EditableTable/index.d.ts.map +1 -0
  560. package/dist/types/components/EditableTable/types.d.ts +35 -0
  561. package/dist/types/components/EditableTable/types.d.ts.map +1 -0
  562. package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts +15 -0
  563. package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -0
  564. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts +10 -0
  565. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts.map +1 -0
  566. package/dist/types/components/EditableTable/useClipboardHandler.d.ts +5 -0
  567. package/dist/types/components/EditableTable/useClipboardHandler.d.ts.map +1 -0
  568. package/dist/types/components/EditableTable/useEditableTableCollectionSyncProps.d.ts +4 -0
  569. package/dist/types/components/EditableTable/useEditableTableCollectionSyncProps.d.ts.map +1 -0
  570. package/dist/types/components/EditableTable/useEditableTableContextMenu.d.ts +15 -0
  571. package/dist/types/components/EditableTable/useEditableTableContextMenu.d.ts.map +1 -0
  572. package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts +6 -0
  573. package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -0
  574. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  575. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  576. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  577. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  578. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  579. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  580. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  581. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  582. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  583. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  584. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  585. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
  586. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  587. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  588. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  589. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  590. package/dist/types/components/Suggestions/Suggestions.d.ts.map +1 -1
  591. package/dist/types/components/Suggestions/Suggestions.uni.driver.d.ts +1 -1
  592. package/dist/types/components/Suggestions/types.d.ts +2 -2
  593. package/dist/types/components/Suggestions/types.d.ts.map +1 -1
  594. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  595. package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
  596. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
  597. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
  598. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  599. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  600. package/dist/types/components/common.st.css.d.ts.map +1 -1
  601. package/dist/types/hooks/useEditableTableCollection.d.ts +12 -0
  602. package/dist/types/hooks/useEditableTableCollection.d.ts.map +1 -0
  603. package/dist/types/index.d.ts +3 -0
  604. package/dist/types/index.d.ts.map +1 -1
  605. package/dist/types/state/EditableTable/CellInteractionState.d.ts +37 -0
  606. package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -0
  607. package/dist/types/state/EditableTable/CellValueState.d.ts +53 -0
  608. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -0
  609. package/dist/types/state/EditableTable/ClipboardState.d.ts +33 -0
  610. package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -0
  611. package/dist/types/state/EditableTable/EditableTableState.d.ts +79 -0
  612. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -0
  613. package/dist/types/state/EditableTable/MutationState.d.ts +24 -0
  614. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -0
  615. package/dist/types/state/EditableTable/index.d.ts +5 -0
  616. package/dist/types/state/EditableTable/index.d.ts.map +1 -0
  617. package/dist/types/state/EditableTable/types.d.ts +98 -0
  618. package/dist/types/state/EditableTable/types.d.ts.map +1 -0
  619. package/dist/types/state/EditableTable/utils.d.ts +7 -0
  620. package/dist/types/state/EditableTable/utils.d.ts.map +1 -0
  621. package/dist/types/testkit/enzyme.d.ts +195 -195
  622. package/dist/types/testkit/jsdom.d.ts +516 -208
  623. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  624. package/dist/types/testkit/playwright.d.ts +507 -195
  625. package/dist/types/testkit/playwright.d.ts.map +1 -1
  626. package/dist/types/testkit/puppeteer.d.ts +518 -206
  627. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  628. package/dist/types/version.d.ts +1 -1
  629. package/package.json +5 -5
  630. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  631. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  632. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  633. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  634. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  635. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  636. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  637. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  638. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  639. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  640. package/src/components/EditableTable/EditableCell.st.css +68 -0
  641. package/src/components/EditableTable/EditableCell.st.css.ts +25 -0
  642. package/src/components/EditableTable/EditableCell.tsx +140 -0
  643. package/src/components/EditableTable/EditableCell.uni.driver.ts +102 -0
  644. package/src/components/EditableTable/EditableTable.tsx +97 -0
  645. package/src/components/EditableTable/EditableTable.uni.driver.ts +98 -0
  646. package/src/components/EditableTable/EditableTableContextMenu.tsx +235 -0
  647. package/src/components/EditableTable/EditableTableContextMenu.uni.driver.ts +37 -0
  648. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
  649. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +25 -0
  650. package/src/components/EditableTable/cellTypes/boolean/Edit.tsx +41 -0
  651. package/src/components/EditableTable/cellTypes/boolean/Edit.uni.driver.ts +29 -0
  652. package/src/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
  653. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +25 -0
  654. package/src/components/EditableTable/cellTypes/boolean/View.tsx +15 -0
  655. package/src/components/EditableTable/cellTypes/boolean/View.uni.driver.ts +9 -0
  656. package/src/components/EditableTable/cellTypes/boolean/index.ts +29 -0
  657. package/src/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
  658. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +25 -0
  659. package/src/components/EditableTable/cellTypes/date/Edit.tsx +88 -0
  660. package/src/components/EditableTable/cellTypes/date/Edit.uni.driver.ts +18 -0
  661. package/src/components/EditableTable/cellTypes/date/View.st.css +4 -0
  662. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +25 -0
  663. package/src/components/EditableTable/cellTypes/date/View.tsx +29 -0
  664. package/src/components/EditableTable/cellTypes/date/View.uni.driver.ts +9 -0
  665. package/src/components/EditableTable/cellTypes/date/index.ts +41 -0
  666. package/src/components/EditableTable/cellTypes/index.ts +26 -0
  667. package/src/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
  668. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +25 -0
  669. package/src/components/EditableTable/cellTypes/number/Edit.tsx +47 -0
  670. package/src/components/EditableTable/cellTypes/number/Edit.uni.driver.ts +22 -0
  671. package/src/components/EditableTable/cellTypes/number/View.st.css +5 -0
  672. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +25 -0
  673. package/src/components/EditableTable/cellTypes/number/View.tsx +12 -0
  674. package/src/components/EditableTable/cellTypes/number/View.uni.driver.ts +9 -0
  675. package/src/components/EditableTable/cellTypes/number/index.ts +32 -0
  676. package/src/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
  677. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +25 -0
  678. package/src/components/EditableTable/cellTypes/select/Edit.tsx +77 -0
  679. package/src/components/EditableTable/cellTypes/select/Edit.uni.driver.ts +24 -0
  680. package/src/components/EditableTable/cellTypes/select/View.st.css +4 -0
  681. package/src/components/EditableTable/cellTypes/select/View.st.css.ts +25 -0
  682. package/src/components/EditableTable/cellTypes/select/View.tsx +19 -0
  683. package/src/components/EditableTable/cellTypes/select/View.uni.driver.ts +9 -0
  684. package/src/components/EditableTable/cellTypes/select/index.ts +16 -0
  685. package/src/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
  686. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +25 -0
  687. package/src/components/EditableTable/cellTypes/text/Edit.tsx +82 -0
  688. package/src/components/EditableTable/cellTypes/text/Edit.uni.driver.ts +23 -0
  689. package/src/components/EditableTable/cellTypes/text/View.st.css +4 -0
  690. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +25 -0
  691. package/src/components/EditableTable/cellTypes/text/View.tsx +10 -0
  692. package/src/components/EditableTable/cellTypes/text/View.uni.driver.ts +9 -0
  693. package/src/components/EditableTable/cellTypes/text/index.ts +16 -0
  694. package/src/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
  695. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +25 -0
  696. package/src/components/EditableTable/cellTypes/url/Edit.tsx +53 -0
  697. package/src/components/EditableTable/cellTypes/url/Edit.uni.driver.ts +23 -0
  698. package/src/components/EditableTable/cellTypes/url/View.st.css +22 -0
  699. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +25 -0
  700. package/src/components/EditableTable/cellTypes/url/View.tsx +28 -0
  701. package/src/components/EditableTable/cellTypes/url/View.uni.driver.ts +18 -0
  702. package/src/components/EditableTable/cellTypes/url/index.ts +24 -0
  703. package/src/components/EditableTable/index.ts +2 -0
  704. package/src/components/EditableTable/types.ts +34 -0
  705. package/src/components/EditableTable/useCellFocusAndEditing.ts +109 -0
  706. package/src/components/EditableTable/useClearFocusOnBlur.ts +40 -0
  707. package/src/components/EditableTable/useClipboardHandler.ts +85 -0
  708. package/src/components/EditableTable/useEditableTableCollectionSyncProps.ts +11 -0
  709. package/src/components/EditableTable/useEditableTableContextMenu.ts +107 -0
  710. package/src/components/EditableTable/useKeyboardNavigation.ts +91 -0
  711. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  712. package/src/components/Fade/Fade.st.css.ts +2 -2
  713. package/src/components/Heading/Heading.st.css.ts +2 -2
  714. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  715. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  716. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  717. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  718. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  719. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  720. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  721. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  722. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  723. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  724. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  725. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  726. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  727. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  728. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  729. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  730. package/src/components/Suggestions/Suggestions.tsx +12 -10
  731. package/src/components/Suggestions/Suggestions.uni.driver.ts +3 -3
  732. package/src/components/Suggestions/types.ts +2 -2
  733. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  734. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  735. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  736. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  737. package/src/components/common.st.css.ts +2 -2
  738. package/src/hooks/useEditableTableCollection.ts +54 -0
  739. package/src/index.ts +3 -0
  740. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  741. package/src/state/EditableTable/CellInteractionState.ts +290 -0
  742. package/src/state/EditableTable/CellValueState.ts +274 -0
  743. package/src/state/EditableTable/ClipboardState.ts +250 -0
  744. package/src/state/EditableTable/EditableTableState.ts +246 -0
  745. package/src/state/EditableTable/MutationState.ts +118 -0
  746. package/src/state/EditableTable/index.ts +16 -0
  747. package/src/state/EditableTable/types.ts +108 -0
  748. package/src/state/EditableTable/utils.ts +73 -0
  749. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  750. package/src/styles.global.css +1 -1
  751. package/src/testkit/jsdom.ts +5 -0
  752. package/src/testkit/playwright.ts +5 -0
  753. package/src/testkit/puppeteer.ts +5 -0
  754. package/src/version.ts +1 -1
@@ -0,0 +1,250 @@
1
+ import { action, computed, makeObservable, observable } from 'mobx';
2
+ import type { CellBorder } from './types';
3
+ import type { FiltersMap } from '@wix/bex-core';
4
+ import type { EditableTableState } from './EditableTableState';
5
+ import { cellKey, parseCellKey, noBorder } from './utils';
6
+
7
+ export class ClipboardState<T, F extends FiltersMap> {
8
+ copiedCells = new Set<string>();
9
+ isCut = false;
10
+ private _copiedDataString = '';
11
+ private _copiedValues = new Map<string, any>();
12
+ private readonly _parent: EditableTableState<T, F>;
13
+
14
+ constructor(parent: EditableTableState<T, F>) {
15
+ this._parent = parent;
16
+ makeObservable(this, {
17
+ copiedCells: observable,
18
+ isCut: observable,
19
+ hasCopiedCells: computed,
20
+ copy: action,
21
+ cut: action,
22
+ paste: action,
23
+ clear: action,
24
+ });
25
+ }
26
+
27
+ /**
28
+ * Copy selected cells. Returns serialized TSV string for clipboard.
29
+ */
30
+ copy(): string {
31
+ this.clear();
32
+ return this._storeCells();
33
+ }
34
+
35
+ /**
36
+ * Cut selected cells. Returns serialized TSV string for clipboard.
37
+ */
38
+ cut(): string {
39
+ this.clear();
40
+ this.isCut = true;
41
+ return this._storeCells();
42
+ }
43
+
44
+ /**
45
+ * Paste data starting at target position.
46
+ * If the clipboard text matches what we stored at copy time, uses the rich
47
+ * typed values instead of deserializing from TSV (avoids lossy round-trip).
48
+ */
49
+ paste(rawData: string) {
50
+ const { cellValue, cellInteraction } = this._parent;
51
+ const target = cellInteraction.focusedCell;
52
+ if (!target) {
53
+ return;
54
+ }
55
+ const targetPos = this._parent._toIndices(target);
56
+ if (!targetPos) {
57
+ return;
58
+ }
59
+
60
+ const isInternal =
61
+ this._copiedDataString !== '' && this._copiedDataString === rawData;
62
+
63
+ const pastedKeys = this._pasteGrid(
64
+ rawData,
65
+ targetPos,
66
+ isInternal,
67
+ cellValue,
68
+ );
69
+
70
+ if (this.isCut && isInternal) {
71
+ this._clearCutSources(pastedKeys, cellValue);
72
+ }
73
+
74
+ this.clear();
75
+ }
76
+
77
+ private _pasteGrid(
78
+ rawData: string,
79
+ targetPos: { row: number; col: number },
80
+ useRichValues: boolean,
81
+ cellValue: EditableTableState<T, F>['cellValue'],
82
+ ): Set<string> {
83
+ const pastedKeys = new Set<string>();
84
+ const richChanges: { rowKey: string; columnId: string; value: any }[] = [];
85
+ const rawChanges: { rowKey: string; columnId: string; rawValue: string }[] =
86
+ [];
87
+ const rows = rawData.split(/\r?\n/).filter((r) => r.length > 0);
88
+
89
+ for (let r = 0; r < rows.length; r++) {
90
+ const cols = rows[r].split('\t');
91
+ for (let c = 0; c < cols.length; c++) {
92
+ const dest = this._parent._toPosition(
93
+ targetPos.row + r,
94
+ targetPos.col + c,
95
+ );
96
+ if (!dest) {
97
+ continue;
98
+ }
99
+
100
+ const richValue = useRichValues
101
+ ? this._copiedValues.get(`${r}:${c}`)
102
+ : undefined;
103
+
104
+ if (richValue !== undefined) {
105
+ richChanges.push({
106
+ rowKey: dest.rowKey,
107
+ columnId: dest.columnId,
108
+ value: richValue,
109
+ });
110
+ } else {
111
+ rawChanges.push({
112
+ rowKey: dest.rowKey,
113
+ columnId: dest.columnId,
114
+ rawValue: cols[c],
115
+ });
116
+ }
117
+
118
+ pastedKeys.add(cellKey(dest.rowKey, dest.columnId));
119
+ }
120
+ }
121
+
122
+ if (richChanges.length > 0) {
123
+ cellValue.applyBulkValues(richChanges);
124
+ }
125
+ if (rawChanges.length > 0) {
126
+ cellValue.applyBulkRawValues(rawChanges);
127
+ }
128
+
129
+ return pastedKeys;
130
+ }
131
+
132
+ private _clearCutSources(
133
+ pastedKeys: Set<string>,
134
+ cellValue: EditableTableState<T, F>['cellValue'],
135
+ ) {
136
+ const rawChanges: {
137
+ rowKey: string;
138
+ columnId: string;
139
+ rawValue: string;
140
+ }[] = [];
141
+ for (const key of this.copiedCells) {
142
+ if (pastedKeys.has(key)) {
143
+ continue;
144
+ }
145
+ const pos = parseCellKey(key);
146
+ if (pos) {
147
+ rawChanges.push({
148
+ rowKey: pos.rowKey,
149
+ columnId: pos.columnId,
150
+ rawValue: '',
151
+ });
152
+ }
153
+ }
154
+
155
+ cellValue.applyBulkRawValues(rawChanges);
156
+ }
157
+
158
+ clear() {
159
+ this.copiedCells.clear();
160
+ this.isCut = false;
161
+ this._copiedDataString = '';
162
+ this._copiedValues.clear();
163
+ }
164
+
165
+ isCellCopied(rowKey: string, columnId: string): boolean {
166
+ return this.copiedCells.has(cellKey(rowKey, columnId));
167
+ }
168
+
169
+ getCopiedBorder(rowKey: string, columnId: string): CellBorder {
170
+ if (!this.isCellCopied(rowKey, columnId)) {
171
+ return noBorder;
172
+ }
173
+
174
+ const pos = this._parent._toIndices({ rowKey, columnId });
175
+ if (!pos) {
176
+ return noBorder;
177
+ }
178
+
179
+ const isNeighborCopied = (row: number, col: number) => {
180
+ const neighbor = this._parent._toPosition(row, col);
181
+ return (
182
+ neighbor !== null &&
183
+ this.copiedCells.has(cellKey(neighbor.rowKey, neighbor.columnId))
184
+ );
185
+ };
186
+
187
+ return {
188
+ top: !isNeighborCopied(pos.row - 1, pos.col),
189
+ bottom: !isNeighborCopied(pos.row + 1, pos.col),
190
+ left: !isNeighborCopied(pos.row, pos.col - 1),
191
+ right: !isNeighborCopied(pos.row, pos.col + 1),
192
+ };
193
+ }
194
+
195
+ get hasCopiedCells(): boolean {
196
+ return this.copiedCells.size > 0;
197
+ }
198
+
199
+ private _storeCells(): string {
200
+ const cells = this._parent.cellInteraction.selectedCellsList;
201
+ if (cells.length === 0) {
202
+ return '';
203
+ }
204
+
205
+ const { cellValue } = this._parent;
206
+
207
+ for (const cell of cells) {
208
+ this.copiedCells.add(cellKey(cell.rowKey, cell.columnId));
209
+ }
210
+
211
+ const indices = cells
212
+ .map((c) => this._parent._toIndices(c))
213
+ .filter((idx): idx is { row: number; col: number } => idx !== null);
214
+
215
+ if (indices.length === 0) {
216
+ return '';
217
+ }
218
+
219
+ const minRow = Math.min(...indices.map((i) => i.row));
220
+ const maxRow = Math.max(...indices.map((i) => i.row));
221
+ const minCol = Math.min(...indices.map((i) => i.col));
222
+ const maxCol = Math.max(...indices.map((i) => i.col));
223
+
224
+ const data: string[][] = [];
225
+ for (let r = minRow; r <= maxRow; r++) {
226
+ const row: string[] = [];
227
+ for (let c = minCol; c <= maxCol; c++) {
228
+ const pos = this._parent._toPosition(r, c);
229
+ if (pos && this.copiedCells.has(cellKey(pos.rowKey, pos.columnId))) {
230
+ const serialized = cellValue.serializeCellValue(
231
+ pos.rowKey,
232
+ pos.columnId,
233
+ );
234
+ row.push(serialized);
235
+ this._copiedValues.set(
236
+ `${r - minRow}:${c - minCol}`,
237
+ cellValue.getCellDisplayValue(pos.rowKey, pos.columnId),
238
+ );
239
+ } else {
240
+ row.push('');
241
+ }
242
+ }
243
+ data.push(row);
244
+ }
245
+
246
+ const tsv = data.map((row) => row.join('\t')).join('\n');
247
+ this._copiedDataString = tsv;
248
+ return tsv;
249
+ }
250
+ }
@@ -0,0 +1,246 @@
1
+ import { action, computed, makeObservable, observable } from 'mobx';
2
+ import {
3
+ CollectionOptimisticActions,
4
+ CollectionState,
5
+ FiltersMap,
6
+ SortOrder,
7
+ WixPatternsContainer,
8
+ } from '@wix/bex-core';
9
+ import type { KeyedItem } from '@wix/bex-core';
10
+ import { ToolbarCollectionState } from '../ToolbarCollectionState';
11
+ import { TableState } from '../TableState';
12
+ import { ICollectionComponentState } from '../ICollectionComponentState';
13
+ import { CellInteractionState } from './CellInteractionState';
14
+ import { CellValueState } from './CellValueState';
15
+ import { ClipboardState } from './ClipboardState';
16
+ import { MutationState } from './MutationState';
17
+ import type { EditableTableMutationHandlers } from './MutationState';
18
+ import type { Cell, EditableColumn, ValidationResult } from './types';
19
+
20
+ export interface EditableTablePermissions {
21
+ addItemDisabled?: boolean;
22
+ updateItemDisabled?: boolean;
23
+ removeItemDisabled?: boolean;
24
+ }
25
+
26
+ export interface EditableTableStateParams<T, F extends FiltersMap> {
27
+ readonly collection: CollectionState<T, F>;
28
+ readonly container: WixPatternsContainer;
29
+ readonly toolbar?: ToolbarCollectionState<T, F>;
30
+ readonly permissions?: EditableTablePermissions;
31
+ readonly mutations: EditableTableMutationHandlers<T>;
32
+ readonly createOptimisticActions: (
33
+ collection: CollectionState<T, F>,
34
+ ) => CollectionOptimisticActions<T, F>;
35
+ }
36
+
37
+ export interface EditableTableStatePublicAPI<T, F extends FiltersMap> {
38
+ /** Underlying CollectionState instance */
39
+ readonly collection: CollectionState<T, F>;
40
+ /** Underlying ToolbarCollectionState instance */
41
+ readonly toolbar: ToolbarCollectionState<T, F>;
42
+ /** Reset active filters & sorting and adds new items to the collection */
43
+ onAddItemActionComplete(items: T[]): void;
44
+ /** Sort by column */
45
+ sort: (
46
+ columnId: string,
47
+ params?: { forceDirection?: SortOrder; multiple?: boolean },
48
+ ) => void;
49
+ }
50
+
51
+ export class EditableTableState<T, F extends FiltersMap>
52
+ implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>
53
+ {
54
+ readonly toolbar: ToolbarCollectionState<T, F>;
55
+ readonly tableState: TableState<T, F>;
56
+
57
+ readonly cellInteraction: CellInteractionState<T, F>;
58
+ readonly cellValue: CellValueState<T, F>;
59
+ readonly clipboard: ClipboardState<T, F>;
60
+ readonly mutation: MutationState<T, F>;
61
+
62
+ addItemDisabled = false;
63
+ updateItemDisabled = false;
64
+ removeItemDisabled = false;
65
+
66
+ _allColumns: EditableColumn<T>[] = [];
67
+
68
+ constructor(params: EditableTableStateParams<T, F>) {
69
+ this.toolbar =
70
+ params.toolbar ??
71
+ new ToolbarCollectionState({
72
+ collection: params.collection,
73
+ container: params.container,
74
+ componentType: 'EditableTable',
75
+ });
76
+
77
+ this.tableState = new TableState({
78
+ collection: params.collection,
79
+ container: params.container,
80
+ toolbar: this.toolbar,
81
+ });
82
+
83
+ this.cellValue = new CellValueState<T, F>(this);
84
+
85
+ this.cellInteraction = new CellInteractionState<T, F>(
86
+ (editingValue, cell) => {
87
+ this.cellValue.commitHandler(editingValue, cell);
88
+ },
89
+ this,
90
+ );
91
+ this.clipboard = new ClipboardState<T, F>(this);
92
+ this.mutation = new MutationState<T, F>(
93
+ this,
94
+ params.mutations,
95
+ params.createOptimisticActions,
96
+ );
97
+
98
+ makeObservable(this, {
99
+ addItemDisabled: observable,
100
+ updateItemDisabled: observable,
101
+ removeItemDisabled: observable,
102
+ _allColumns: observable.ref,
103
+ editableColumns: computed,
104
+ _columnMap: computed,
105
+ init: action,
106
+ });
107
+
108
+ if (params.permissions) {
109
+ this.addItemDisabled = params.permissions.addItemDisabled ?? false;
110
+ this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;
111
+ this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;
112
+ }
113
+ }
114
+
115
+ get collection() {
116
+ return this.tableState.collection;
117
+ }
118
+
119
+ get keyedItems() {
120
+ return this.tableState.keyedItems;
121
+ }
122
+
123
+ get visibleColumns() {
124
+ return this.tableState.visibleColumns;
125
+ }
126
+
127
+ get itemsToRenderCount() {
128
+ return this.tableState.itemsToRenderCount;
129
+ }
130
+
131
+ get _columnMap(): Map<string, EditableColumn<T>> {
132
+ return new Map(this._allColumns.map((c) => [c.id, c]));
133
+ }
134
+
135
+ _getKeyedItem(key: string): KeyedItem<T> | undefined | null {
136
+ return this.collection.getKeyedItem(key);
137
+ }
138
+
139
+ _toIndices(pos: Cell): { row: number; col: number } | null {
140
+ const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);
141
+ const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);
142
+ return row === -1 || col === -1 ? null : { row, col };
143
+ }
144
+
145
+ _toPosition(row: number, col: number): Cell | null {
146
+ const ki = this.keyedItems[row];
147
+ const c = this.editableColumns[col];
148
+ return ki && c ? { rowKey: ki.key, columnId: c.id } : null;
149
+ }
150
+
151
+ onAddItemActionComplete = (items: T[]) => {
152
+ return this.tableState.onAddItemActionComplete(items);
153
+ };
154
+
155
+ get editableColumns(): EditableColumn<T>[] {
156
+ const visibleIds = this.visibleColumns.map((c) => c.id);
157
+ if (!visibleIds.length) {
158
+ return this._allColumns;
159
+ }
160
+ return visibleIds
161
+ .map((id) => this._allColumns.find((c) => c.id === id))
162
+ .filter((c): c is EditableColumn<T> => c !== undefined);
163
+ }
164
+
165
+ init(columns: EditableColumn<T>[]) {
166
+ this._allColumns = columns;
167
+ return this.mutation.init();
168
+ }
169
+
170
+ addItem(afterItemKey?: string) {
171
+ this.mutation.addItem(afterItemKey);
172
+ }
173
+
174
+ duplicateItem(rowKey: string) {
175
+ this.mutation.duplicateItem(rowKey);
176
+ }
177
+
178
+ deleteItems(rowKeys: string[]) {
179
+ this.mutation.deleteItems(rowKeys);
180
+ }
181
+
182
+ resolveCellType(type: string) {
183
+ return this.cellValue.resolveCellType(type);
184
+ }
185
+
186
+ getCellDisplayValue(rowKey: string, columnId: string): any {
187
+ return this.cellValue.getCellDisplayValue(rowKey, columnId);
188
+ }
189
+
190
+ getCellValidation(rowKey: string, columnId: string): ValidationResult {
191
+ return this.cellValue.getCellValidation(rowKey, columnId);
192
+ }
193
+
194
+ isCellEditable(rowKey: string, columnId: string): boolean {
195
+ return this.cellValue.isCellEditable(rowKey, columnId);
196
+ }
197
+
198
+ clearCells(cells: Cell[]) {
199
+ this.cellValue.clearCells(cells);
200
+ }
201
+
202
+ handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {
203
+ if (this.cellInteraction.isEditing) {
204
+ return;
205
+ }
206
+
207
+ const column = this._columnMap.get(columnId);
208
+ const resolved = column ? this.resolveCellType(column.cellType) : null;
209
+ if (resolved?.toggleValue && !this.updateItemDisabled) {
210
+ this.cellValue.toggleCell(rowKey, columnId);
211
+ this.cellInteraction.focusCell(rowKey, columnId);
212
+ return;
213
+ }
214
+
215
+ if (shiftKey && this.cellInteraction.selectionAnchor) {
216
+ this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {
217
+ rowKey,
218
+ columnId,
219
+ });
220
+ } else {
221
+ this.cellInteraction.focusCell(rowKey, columnId);
222
+ }
223
+ }
224
+
225
+ handleCellDoubleClick(rowKey: string, columnId: string) {
226
+ if (this.updateItemDisabled) {
227
+ return;
228
+ }
229
+ if (this.isCellEditable(rowKey, columnId)) {
230
+ this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');
231
+ }
232
+ }
233
+
234
+ sort = (
235
+ columnId: string,
236
+ {
237
+ forceDirection,
238
+ multiple,
239
+ }: { forceDirection?: SortOrder; multiple?: boolean } = {},
240
+ ) => {
241
+ this.collection.sort(
242
+ { id: columnId },
243
+ { forceDirection, clearResult: true, multiple },
244
+ );
245
+ };
246
+ }
@@ -0,0 +1,118 @@
1
+ import type {
2
+ CollectionOptimisticActions,
3
+ CollectionState,
4
+ FiltersMap,
5
+ } from '@wix/bex-core';
6
+ import type { EditableTableState } from './EditableTableState';
7
+
8
+ export interface EditableTableMutationHandlers<T> {
9
+ /** Factory to create a new empty item with a fresh ID */
10
+ createItem: () => T;
11
+ /** Submit updated items to the server */
12
+ submitUpdate: (items: T[]) => Promise<T[] | void>;
13
+ /** Submit newly created items to the server */
14
+ submitCreate: (items: T[]) => Promise<T[] | void>;
15
+ /** Submit item deletions to the server */
16
+ submitDelete: (items: T[]) => Promise<void>;
17
+ }
18
+
19
+ export class MutationState<T, F extends FiltersMap> {
20
+ private readonly _handlers: EditableTableMutationHandlers<T>;
21
+ private readonly _optimisticActions: CollectionOptimisticActions<T, F>;
22
+ private readonly _parent: EditableTableState<T, F>;
23
+
24
+ constructor(
25
+ parent: EditableTableState<T, F>,
26
+ handlers: EditableTableMutationHandlers<T>,
27
+ createOptimisticActions: (
28
+ collection: CollectionState<T, F>,
29
+ ) => CollectionOptimisticActions<T, F>,
30
+ ) {
31
+ this._parent = parent;
32
+ this._handlers = handlers;
33
+ this._optimisticActions = createOptimisticActions(parent.collection);
34
+ }
35
+
36
+ init() {
37
+ return this._optimisticActions.init();
38
+ }
39
+
40
+ addItem(afterItemKey?: string) {
41
+ const newItem = this._handlers.createItem();
42
+ this._optimisticActions.createOne(newItem, {
43
+ submit: this._handlers.submitCreate,
44
+ afterItemKey,
45
+ successToast: 'Item created',
46
+ errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({
47
+ message: 'Failed to create item',
48
+ action: { onClick: retry, text: 'Retry' },
49
+ }),
50
+ });
51
+ }
52
+
53
+ duplicateItem(rowKey: string) {
54
+ const keyedItem = this._parent.keyedItems.find((ki) => ki.key === rowKey);
55
+ if (!keyedItem) {
56
+ return;
57
+ }
58
+
59
+ const sourceItem = keyedItem.item;
60
+ const newItem = this._handlers.createItem();
61
+ const { itemKey } = this._parent.collection;
62
+ const newId = itemKey(newItem);
63
+ const sourceId = itemKey(sourceItem);
64
+ const duplicate = { ...sourceItem } as any;
65
+ for (const k of Object.keys(duplicate)) {
66
+ if (String(duplicate[k]) === sourceId) {
67
+ duplicate[k] = newId;
68
+ break;
69
+ }
70
+ }
71
+ this._optimisticActions.createOne(duplicate as T, {
72
+ submit: this._handlers.submitCreate,
73
+ afterItemKey: keyedItem.key,
74
+ successToast: 'Item duplicated',
75
+ errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({
76
+ message: 'Failed to duplicate item',
77
+ action: { onClick: retry, text: 'Retry' },
78
+ }),
79
+ });
80
+ }
81
+
82
+ deleteItems(rowKeys: string[]) {
83
+ const items = rowKeys
84
+ .map((key) => this._parent.keyedItems.find((ki) => ki.key === key)?.item)
85
+ .filter((item): item is T => item != null);
86
+ if (items.length === 0) {
87
+ return;
88
+ }
89
+
90
+ this._optimisticActions.deleteMany(items, {
91
+ submit: this._handlers.submitDelete,
92
+ successToast:
93
+ items.length === 1 ? 'Item deleted' : `${items.length} items deleted`,
94
+ errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({
95
+ message: 'Failed to delete items',
96
+ action: { onClick: retry, text: 'Retry' },
97
+ }),
98
+ });
99
+ }
100
+
101
+ updateItems(updatedItems: T[]) {
102
+ if (updatedItems.length === 0) {
103
+ return;
104
+ }
105
+ this._optimisticActions.updateMany(updatedItems, {
106
+ keepPosition: true,
107
+ submit: this._handlers.submitUpdate,
108
+ successToast:
109
+ updatedItems.length === 1
110
+ ? 'Item updated'
111
+ : `${updatedItems.length} items updated`,
112
+ errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({
113
+ message: 'Failed to update items',
114
+ action: { onClick: retry, text: 'Retry' },
115
+ }),
116
+ });
117
+ }
118
+ }
@@ -0,0 +1,16 @@
1
+ export { EditableTableState } from './EditableTableState';
2
+ export type {
3
+ EditableTableStateParams,
4
+ EditableTableStatePublicAPI,
5
+ EditableTablePermissions,
6
+ } from './EditableTableState';
7
+
8
+ export type { EditableTableMutationHandlers } from './MutationState';
9
+
10
+ export type {
11
+ Cell,
12
+ ValidationResult,
13
+ CellType,
14
+ EditableColumn,
15
+ SelectCellConfig,
16
+ } from './types';