@wix/patterns 1.497.0 → 1.499.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 (466) 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/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
  28. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
  29. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  31. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +6 -6
  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/JsonInputEdit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  46. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
  60. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/number/View.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/reference/EmptyReferenceView.st.css.js +6 -6
  70. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  72. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  74. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  76. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  78. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  82. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  83. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  84. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  85. package/dist/cjs/components/EntityPage/EntityPageActionsBar.js +1 -1
  86. package/dist/cjs/components/EntityPage/EntityPageActionsBar.js.map +1 -1
  87. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  88. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  89. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
  90. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
  91. package/dist/cjs/components/EntityPageFields/EntityPageFields.js +9 -8
  92. package/dist/cjs/components/EntityPageFields/EntityPageFields.js.map +1 -1
  93. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js +49 -7
  94. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
  95. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css +17 -0
  96. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js +26 -0
  97. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js.map +1 -0
  98. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  99. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  100. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  101. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  102. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  103. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  104. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js +2 -13
  105. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
  106. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  107. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  108. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  109. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  110. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  111. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  112. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  113. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  114. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  115. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  116. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  117. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  118. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  119. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  120. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  121. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  122. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  123. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  124. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  125. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  126. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  127. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  128. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  129. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  130. package/dist/cjs/components/SchemaSource/schemaFieldActions.js.map +1 -1
  131. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  132. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  133. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  134. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  135. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  136. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  137. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  138. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  139. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  140. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
  141. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  142. package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
  143. package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -1
  144. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  145. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  146. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  147. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  148. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  149. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  150. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  151. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  152. package/dist/cjs/components/common.st.css.js +4 -4
  153. package/dist/cjs/components/common.st.css.js.map +1 -1
  154. package/dist/cjs/model/itemAccess.js +21 -0
  155. package/dist/cjs/model/itemAccess.js.map +1 -0
  156. package/dist/cjs/schema/syncSourcePermissions.js +9 -4
  157. package/dist/cjs/schema/syncSourcePermissions.js.map +1 -1
  158. package/dist/cjs/schema/useEntityPage.js +17 -3
  159. package/dist/cjs/schema/useEntityPage.js.map +1 -1
  160. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
  161. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  162. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  163. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
  164. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
  165. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  166. package/dist/cjs/state/EditableTable/CellValueState.js +154 -7
  167. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
  168. package/dist/cjs/state/EditableTable/ClipboardState.js +30 -14
  169. package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -1
  170. package/dist/cjs/state/EditableTable/EditableTableState.js +1 -1
  171. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  172. package/dist/cjs/state/EditableTable/MutationState.js +31 -7
  173. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
  174. package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js +5 -5
  175. package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js.map +1 -1
  176. package/dist/cjs/state/EntityPage/EntityPageState.js +57 -8
  177. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  178. package/dist/cjs/state/EntityPage/sourceSave.js +16 -0
  179. package/dist/cjs/state/EntityPage/sourceSave.js.map +1 -0
  180. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  181. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  182. package/dist/cjs/styles.global.css +2 -2
  183. package/dist/cjs/version.js +1 -1
  184. package/dist/cjs/version.js.map +1 -1
  185. package/dist/docs/Table.md +3 -1
  186. package/dist/docs/index.json +2 -2
  187. package/dist/docs/useEntity.md +1 -1
  188. package/dist/dts-bundle/hooks/schema/useEntityPage.d.ts +5 -4
  189. package/dist/dts-bundle/hooks/useEntityPage.d.ts +5 -4
  190. package/dist/dts-bundle/hooks/usePickerModal.d.ts +3 -0
  191. package/dist/dts-bundle/index.json +25 -25
  192. package/dist/dts-bundle/index.txt +8 -8
  193. package/dist/dts-bundle/types/CellType.d.ts +3 -0
  194. package/dist/dts-bundle/types/EntityPageState.d.ts +10 -4
  195. package/dist/dts-bundle/types/EntityPageStateParams.d.ts +5 -4
  196. package/dist/dts-bundle/types/OnSaveParams.d.ts +5 -4
  197. package/dist/dts-bundle/types/UseEntityPageParams.d.ts +5 -4
  198. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  199. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  200. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  201. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  202. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  203. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  204. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  205. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  206. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  207. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  208. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  209. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  210. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  211. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  212. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  213. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  214. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  215. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
  216. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  217. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  218. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  219. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  220. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  221. package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
  222. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  223. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  224. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  225. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  226. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  227. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  228. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  229. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  230. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  231. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  232. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  233. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
  234. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +2 -2
  235. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
  236. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  237. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  238. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  239. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
  241. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  242. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  243. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  244. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  245. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  246. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  247. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  248. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  249. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  250. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  251. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  252. package/dist/esm/components/EntityPage/EntityPageActionsBar.js +1 -1
  253. package/dist/esm/components/EntityPage/EntityPageActionsBar.js.map +1 -1
  254. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  255. package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
  256. package/dist/esm/components/EntityPageFields/EntityPageFields.js +3 -1
  257. package/dist/esm/components/EntityPageFields/EntityPageFields.js.map +1 -1
  258. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js +19 -2
  259. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
  260. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css +17 -0
  261. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css.js +15 -0
  262. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css.js.map +1 -0
  263. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  264. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  265. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  266. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  267. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js +2 -12
  268. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
  269. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  270. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  271. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  272. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  273. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  274. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  275. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  276. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  277. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  278. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  279. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  280. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  281. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  282. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  283. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  284. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  285. package/dist/esm/components/SchemaSource/schemaFieldActions.js +2 -1
  286. package/dist/esm/components/SchemaSource/schemaFieldActions.js.map +1 -1
  287. package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  288. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  289. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  290. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  291. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  292. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  293. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  294. package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
  295. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  296. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  297. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  298. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  299. package/dist/esm/components/common.st.css.js +2 -2
  300. package/dist/esm/model/itemAccess.js +17 -0
  301. package/dist/esm/model/itemAccess.js.map +1 -0
  302. package/dist/esm/schema/syncSourcePermissions.js +6 -5
  303. package/dist/esm/schema/syncSourcePermissions.js.map +1 -1
  304. package/dist/esm/schema/useEntityPage.js +11 -4
  305. package/dist/esm/schema/useEntityPage.js.map +1 -1
  306. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  307. package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  308. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
  309. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  310. package/dist/esm/state/EditableTable/CellValueState.js +146 -7
  311. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
  312. package/dist/esm/state/EditableTable/ClipboardState.js +16 -15
  313. package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -1
  314. package/dist/esm/state/EditableTable/EditableTableState.js +1 -1
  315. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  316. package/dist/esm/state/EditableTable/MutationState.js +28 -7
  317. package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
  318. package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js +4 -2
  319. package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js.map +1 -1
  320. package/dist/esm/state/EntityPage/EntityPageState.js +45 -1
  321. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  322. package/dist/esm/state/EntityPage/sourceSave.js +11 -0
  323. package/dist/esm/state/EntityPage/sourceSave.js.map +1 -0
  324. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  325. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  326. package/dist/esm/styles.global.css +2 -2
  327. package/dist/esm/version.js +1 -1
  328. package/dist/examples/Table/mobile-columns.tsx +66 -98
  329. package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
  330. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  331. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  332. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  333. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
  334. package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
  335. package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.st.css.d.ts.map +1 -1
  336. package/dist/types/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.d.ts.map +1 -1
  337. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  338. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  339. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  340. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  341. package/dist/types/components/EntityPageFields/EntityPageFields.d.ts.map +1 -1
  342. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts.map +1 -1
  343. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.st.css.d.ts +17 -0
  344. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.st.css.d.ts.map +1 -0
  345. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  346. package/dist/types/components/ImportButton/SchemaImportFieldEditor.d.ts.map +1 -1
  347. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  348. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  349. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  350. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  351. package/dist/types/components/SchemaSource/schemaFieldActions.d.ts.map +1 -1
  352. package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
  353. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  354. package/dist/types/model/itemAccess.d.ts +16 -0
  355. package/dist/types/model/itemAccess.d.ts.map +1 -0
  356. package/dist/types/schema/syncSourcePermissions.d.ts.map +1 -1
  357. package/dist/types/schema/useEntityPage.d.ts.map +1 -1
  358. package/dist/types/state/CollectionPage/TitleBadges.st.css.d.ts.map +1 -1
  359. package/dist/types/state/EditableTable/CellValueState.d.ts +40 -6
  360. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
  361. package/dist/types/state/EditableTable/ClipboardState.d.ts +1 -1
  362. package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -1
  363. package/dist/types/state/EditableTable/MutationState.d.ts +18 -1
  364. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
  365. package/dist/types/state/EntityPage/EntityPageDeleteActionState.d.ts.map +1 -1
  366. package/dist/types/state/EntityPage/EntityPageState.d.ts +10 -4
  367. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  368. package/dist/types/state/EntityPage/sourceSave.d.ts +3 -0
  369. package/dist/types/state/EntityPage/sourceSave.d.ts.map +1 -0
  370. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  371. package/dist/types/version.d.ts +1 -1
  372. package/package.json +7 -7
  373. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  374. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  375. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  376. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  377. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  378. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  379. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  380. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  381. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  382. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  383. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  384. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  385. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  386. package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
  387. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  388. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  389. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  390. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  391. package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
  392. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  393. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  394. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  395. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  396. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  397. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  398. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  399. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  400. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  401. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  402. package/src/components/EditableTable/cellTypes/mediaImage/Edit.st.css.ts +2 -2
  403. package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css.ts +2 -2
  404. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  405. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  406. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  407. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +2 -2
  408. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  409. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  410. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  411. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  412. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  413. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  414. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  415. package/src/components/EntityPage/EntityPageActionsBar.tsx +1 -1
  416. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  417. package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
  418. package/src/components/EntityPageFields/EntityPageFields.tsx +5 -1
  419. package/src/components/EntityPageFields/EntityPageReferenceValue.st.css +17 -0
  420. package/src/components/EntityPageFields/EntityPageReferenceValue.st.css.ts +25 -0
  421. package/src/components/EntityPageFields/EntityPageReferenceValue.tsx +43 -6
  422. package/src/components/Fade/Fade.st.css.ts +2 -2
  423. package/src/components/Heading/Heading.st.css.ts +2 -2
  424. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  425. package/src/components/ImportButton/SchemaImportFieldEditor.tsx +1 -20
  426. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  427. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  428. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  429. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  430. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  431. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  432. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  433. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  434. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  435. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  436. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  437. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  438. package/src/components/SchemaSource/schemaFieldActions.ts +4 -1
  439. package/src/components/SchemaSource/schemaFieldManagement.ts +3 -1
  440. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  441. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  442. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  443. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  444. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  445. package/src/components/Table/NumberCell.st.css.ts +2 -2
  446. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  447. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  448. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  449. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  450. package/src/components/common.st.css.ts +2 -2
  451. package/src/model/itemAccess.ts +36 -0
  452. package/src/schema/syncSourcePermissions.ts +6 -6
  453. package/src/schema/useEntityPage.ts +17 -4
  454. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  455. package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
  456. package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
  457. package/src/state/EditableTable/CellValueState.ts +197 -8
  458. package/src/state/EditableTable/ClipboardState.ts +24 -22
  459. package/src/state/EditableTable/EditableTableState.ts +1 -1
  460. package/src/state/EditableTable/MutationState.ts +56 -7
  461. package/src/state/EntityPage/EntityPageDeleteActionState.ts +4 -2
  462. package/src/state/EntityPage/EntityPageState.ts +61 -5
  463. package/src/state/EntityPage/sourceSave.ts +12 -0
  464. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  465. package/src/styles.global.css +2 -2
  466. package/src/version.ts +1 -1
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "ToolbarItem341992879";
8
+ var _namespace_ = "ToolbarItem501577680";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "ToolbarItem341992879__root"
15
+ "root": "ToolbarItem501577680__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItem/ToolbarItem.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItem341992879\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItem341992879__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,sBAAsB;AACxC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA4B,CAAC;AACnD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItem/ToolbarItem.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItem501577680\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItem501577680__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,sBAAsB;AACxC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA4B,CAAC;AACnD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "ToolbarItemBox3308969475";
8
+ var _namespace_ = "ToolbarItemBox1249419311";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "ToolbarItemBox3308969475__root"
15
+ "root": "ToolbarItemBox1249419311__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox3308969475\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItemBox3308969475__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox1249419311\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItemBox1249419311__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "common3814229212";
8
+ var _namespace_ = "common1747287945";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "common3814229212__root",
16
- "column": "common3814229212__column",
17
- "fullHeight": "common3814229212__fullHeight"
15
+ "root": "common1747287945__root",
16
+ "column": "common1747287945__column",
17
+ "fullHeight": "common1747287945__fullHeight"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common3814229212\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"common3814229212__root\",\"column\":\"common3814229212__column\",\"fullHeight\":\"common3814229212__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common1747287945\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"common1747287945__root\",\"column\":\"common1747287945__column\",\"fullHeight\":\"common1747287945__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getItemAccess = getItemAccess;
5
+ function getItemAccess(permissions, backend) {
6
+ return {
7
+ permitted: {
8
+ create: (permissions == null ? void 0 : permissions.createItem) ?? true,
9
+ update: (permissions == null ? void 0 : permissions.updateItem) ?? true,
10
+ delete: (permissions == null ? void 0 : permissions.deleteItem) ?? true,
11
+ bulkDelete: (permissions == null ? void 0 : permissions.bulkDeleteItems) ?? (permissions == null ? void 0 : permissions.deleteItem) ?? true
12
+ },
13
+ supported: {
14
+ create: !!(backend != null && backend.create),
15
+ update: !!(backend != null && backend.update),
16
+ delete: !!(backend != null && backend.delete),
17
+ bulkDelete: !!(backend != null && backend.bulkDelete)
18
+ }
19
+ };
20
+ }
21
+ //# sourceMappingURL=itemAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getItemAccess","permissions","backend","permitted","create","createItem","update","updateItem","delete","deleteItem","bulkDelete","bulkDeleteItems","supported"],"sources":["../../../src/model/itemAccess.ts"],"sourcesContent":["import type { CollectionBackend, ItemPermissions } from '@wix/bex-core';\n\ninterface ItemActions {\n create: boolean;\n update: boolean;\n delete: boolean;\n bulkDelete: boolean;\n}\n\nexport interface ItemAccess {\n /** What the item permissions allow. An unset permission allows the action. */\n permitted: ItemActions;\n /** Which write methods the backend has. */\n supported: ItemActions;\n}\n\nexport function getItemAccess(\n permissions: ItemPermissions<any> | undefined,\n backend: CollectionBackend<any> | undefined,\n): ItemAccess {\n return {\n permitted: {\n create: permissions?.createItem ?? true,\n update: permissions?.updateItem ?? true,\n delete: permissions?.deleteItem ?? true,\n bulkDelete:\n permissions?.bulkDeleteItems ?? permissions?.deleteItem ?? true,\n },\n supported: {\n create: !!backend?.create,\n update: !!backend?.update,\n delete: !!backend?.delete,\n bulkDelete: !!backend?.bulkDelete,\n },\n };\n}\n"],"mappings":";;;;AAgBO,SAASA,aAAaA,CAC3BC,WAA6C,EAC7CC,OAA2C,EAC/B;EACZ,OAAO;IACLC,SAAS,EAAE;MACTC,MAAM,EAAE,CAAAH,WAAW,oBAAXA,WAAW,CAAEI,UAAU,KAAI,IAAI;MACvCC,MAAM,EAAE,CAAAL,WAAW,oBAAXA,WAAW,CAAEM,UAAU,KAAI,IAAI;MACvCC,MAAM,EAAE,CAAAP,WAAW,oBAAXA,WAAW,CAAEQ,UAAU,KAAI,IAAI;MACvCC,UAAU,EACR,CAAAT,WAAW,oBAAXA,WAAW,CAAEU,eAAe,MAAIV,WAAW,oBAAXA,WAAW,CAAEQ,UAAU,KAAI;IAC/D,CAAC;IACDG,SAAS,EAAE;MACTR,MAAM,EAAE,CAAC,EAACF,OAAO,YAAPA,OAAO,CAAEE,MAAM;MACzBE,MAAM,EAAE,CAAC,EAACJ,OAAO,YAAPA,OAAO,CAAEI,MAAM;MACzBE,MAAM,EAAE,CAAC,EAACN,OAAO,YAAPA,OAAO,CAAEM,MAAM;MACzBE,UAAU,EAAE,CAAC,EAACR,OAAO,YAAPA,OAAO,CAAEQ,UAAU;IACnC;EACF,CAAC;AACH","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.syncSourcePermissions = syncSourcePermissions;
5
5
  var _mobx = require("mobx");
6
+ var _itemAccess = require("../model/itemAccess");
6
7
  /**
7
8
  * Keeps an editable table's row-action flags in sync with its source: an action
8
9
  * is disabled when the source denies the permission (`schema.itemPermissions`)
@@ -16,12 +17,16 @@ function syncSourcePermissions(state, sourceState) {
16
17
  const loaded = sourceState.loadedSchema;
17
18
  const perms = loaded == null ? void 0 : loaded.schema.itemPermissions;
18
19
  const backend = loaded == null ? void 0 : loaded.backend;
20
+ const {
21
+ permitted,
22
+ supported
23
+ } = (0, _itemAccess.getItemAccess)(perms, backend);
19
24
  const isRemoveItemDisabled = perms == null ? void 0 : perms.isRemoveItemDisabled;
20
25
  state.setPermissions({
21
- addItemDisabled: !((perms == null ? void 0 : perms.createItem) ?? true) || !(backend != null && backend.create),
22
- updateItemDisabled: !((perms == null ? void 0 : perms.updateItem) ?? true) || !(backend != null && backend.update),
23
- removeItemDisabled: !((perms == null ? void 0 : perms.deleteItem) ?? true) || !(backend != null && backend.bulkDelete),
24
- multiDeleteDisabled: !((perms == null ? void 0 : perms.bulkDeleteItems) ?? (perms == null ? void 0 : perms.deleteItem) ?? true) || !(backend != null && backend.bulkDelete),
26
+ addItemDisabled: !permitted.create || !supported.create,
27
+ updateItemDisabled: !permitted.update || !supported.update,
28
+ removeItemDisabled: !permitted.delete || !supported.bulkDelete,
29
+ multiDeleteDisabled: !permitted.bulkDelete || !supported.bulkDelete,
25
30
  isCreateItemDisabled: perms == null ? void 0 : perms.isCreateItemDisabled,
26
31
  isRemoveItemDisabled: isRemoveItemDisabled ? item => isRemoveItemDisabled(item) : undefined
27
32
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","syncSourcePermissions","state","sourceState","autorun","loaded","loadedSchema","perms","schema","itemPermissions","backend","isRemoveItemDisabled","setPermissions","addItemDisabled","createItem","create","updateItemDisabled","updateItem","update","removeItemDisabled","deleteItem","bulkDelete","multiDeleteDisabled","bulkDeleteItems","isCreateItemDisabled","item","undefined"],"sources":["../../../src/schema/syncSourcePermissions.ts"],"sourcesContent":["import { autorun } from 'mobx';\nimport type { FiltersMap, SourceState } from '@wix/bex-core';\nimport type { EditableTableState } from '../state/EditableTable';\n\n/**\n * Keeps an editable table's row-action flags in sync with its source: an action\n * is disabled when the source denies the permission (`schema.itemPermissions`)\n * OR the backend can't perform it (the write method is absent, e.g. a read-only\n * source). The source is the only permission input — schema-entry tables do not\n * accept consumer-supplied permissions. Reactive because the schema loads\n * asynchronously. Returns a disposer.\n */\nexport function syncSourcePermissions<T, F extends FiltersMap>(\n state: EditableTableState<T, F>,\n sourceState: SourceState<T>,\n): () => void {\n return autorun(() => {\n const loaded = sourceState.loadedSchema;\n const perms = loaded?.schema.itemPermissions;\n const backend = loaded?.backend;\n\n const isRemoveItemDisabled = perms?.isRemoveItemDisabled;\n\n state.setPermissions({\n addItemDisabled: !(perms?.createItem ?? true) || !backend?.create,\n updateItemDisabled: !(perms?.updateItem ?? true) || !backend?.update,\n removeItemDisabled: !(perms?.deleteItem ?? true) || !backend?.bulkDelete,\n multiDeleteDisabled:\n !(perms?.bulkDeleteItems ?? perms?.deleteItem ?? true) ||\n !backend?.bulkDelete,\n isCreateItemDisabled: perms?.isCreateItemDisabled,\n isRemoveItemDisabled: isRemoveItemDisabled\n ? (item: T) => isRemoveItemDisabled(item as Record<string, unknown>)\n : undefined,\n });\n });\n}\n"],"mappings":";;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CACnCC,KAA+B,EAC/BC,WAA2B,EACf;EACZ,OAAO,IAAAC,aAAO,EAAC,MAAM;IACnB,MAAMC,MAAM,GAAGF,WAAW,CAACG,YAAY;IACvC,MAAMC,KAAK,GAAGF,MAAM,oBAANA,MAAM,CAAEG,MAAM,CAACC,eAAe;IAC5C,MAAMC,OAAO,GAAGL,MAAM,oBAANA,MAAM,CAAEK,OAAO;IAE/B,MAAMC,oBAAoB,GAAGJ,KAAK,oBAALA,KAAK,CAAEI,oBAAoB;IAExDT,KAAK,CAACU,cAAc,CAAC;MACnBC,eAAe,EAAE,EAAE,CAAAN,KAAK,oBAALA,KAAK,CAAEO,UAAU,KAAI,IAAI,CAAC,IAAI,EAACJ,OAAO,YAAPA,OAAO,CAAEK,MAAM;MACjEC,kBAAkB,EAAE,EAAE,CAAAT,KAAK,oBAALA,KAAK,CAAEU,UAAU,KAAI,IAAI,CAAC,IAAI,EAACP,OAAO,YAAPA,OAAO,CAAEQ,MAAM;MACpEC,kBAAkB,EAAE,EAAE,CAAAZ,KAAK,oBAALA,KAAK,CAAEa,UAAU,KAAI,IAAI,CAAC,IAAI,EAACV,OAAO,YAAPA,OAAO,CAAEW,UAAU;MACxEC,mBAAmB,EACjB,EAAE,CAAAf,KAAK,oBAALA,KAAK,CAAEgB,eAAe,MAAIhB,KAAK,oBAALA,KAAK,CAAEa,UAAU,KAAI,IAAI,CAAC,IACtD,EAACV,OAAO,YAAPA,OAAO,CAAEW,UAAU;MACtBG,oBAAoB,EAAEjB,KAAK,oBAALA,KAAK,CAAEiB,oBAAoB;MACjDb,oBAAoB,EAAEA,oBAAoB,GACrCc,IAAO,IAAKd,oBAAoB,CAACc,IAA+B,CAAC,GAClEC;IACN,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_itemAccess","syncSourcePermissions","state","sourceState","autorun","loaded","loadedSchema","perms","schema","itemPermissions","backend","permitted","supported","getItemAccess","isRemoveItemDisabled","setPermissions","addItemDisabled","create","updateItemDisabled","update","removeItemDisabled","delete","bulkDelete","multiDeleteDisabled","isCreateItemDisabled","item","undefined"],"sources":["../../../src/schema/syncSourcePermissions.ts"],"sourcesContent":["import { autorun } from 'mobx';\nimport type { FiltersMap, SourceState } from '@wix/bex-core';\nimport type { EditableTableState } from '../state/EditableTable';\nimport { getItemAccess } from '../model/itemAccess';\n\n/**\n * Keeps an editable table's row-action flags in sync with its source: an action\n * is disabled when the source denies the permission (`schema.itemPermissions`)\n * OR the backend can't perform it (the write method is absent, e.g. a read-only\n * source). The source is the only permission input — schema-entry tables do not\n * accept consumer-supplied permissions. Reactive because the schema loads\n * asynchronously. Returns a disposer.\n */\nexport function syncSourcePermissions<T, F extends FiltersMap>(\n state: EditableTableState<T, F>,\n sourceState: SourceState<T>,\n): () => void {\n return autorun(() => {\n const loaded = sourceState.loadedSchema;\n const perms = loaded?.schema.itemPermissions;\n const backend = loaded?.backend;\n\n const { permitted, supported } = getItemAccess(perms, backend);\n const isRemoveItemDisabled = perms?.isRemoveItemDisabled;\n\n state.setPermissions({\n addItemDisabled: !permitted.create || !supported.create,\n updateItemDisabled: !permitted.update || !supported.update,\n removeItemDisabled: !permitted.delete || !supported.bulkDelete,\n multiDeleteDisabled: !permitted.bulkDelete || !supported.bulkDelete,\n isCreateItemDisabled: perms?.isCreateItemDisabled,\n isRemoveItemDisabled: isRemoveItemDisabled\n ? (item: T) => isRemoveItemDisabled(item as Record<string, unknown>)\n : undefined,\n });\n });\n}\n"],"mappings":";;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,qBAAqBA,CACnCC,KAA+B,EAC/BC,WAA2B,EACf;EACZ,OAAO,IAAAC,aAAO,EAAC,MAAM;IACnB,MAAMC,MAAM,GAAGF,WAAW,CAACG,YAAY;IACvC,MAAMC,KAAK,GAAGF,MAAM,oBAANA,MAAM,CAAEG,MAAM,CAACC,eAAe;IAC5C,MAAMC,OAAO,GAAGL,MAAM,oBAANA,MAAM,CAAEK,OAAO;IAE/B,MAAM;MAAEC,SAAS;MAAEC;IAAU,CAAC,GAAG,IAAAC,yBAAa,EAACN,KAAK,EAAEG,OAAO,CAAC;IAC9D,MAAMI,oBAAoB,GAAGP,KAAK,oBAALA,KAAK,CAAEO,oBAAoB;IAExDZ,KAAK,CAACa,cAAc,CAAC;MACnBC,eAAe,EAAE,CAACL,SAAS,CAACM,MAAM,IAAI,CAACL,SAAS,CAACK,MAAM;MACvDC,kBAAkB,EAAE,CAACP,SAAS,CAACQ,MAAM,IAAI,CAACP,SAAS,CAACO,MAAM;MAC1DC,kBAAkB,EAAE,CAACT,SAAS,CAACU,MAAM,IAAI,CAACT,SAAS,CAACU,UAAU;MAC9DC,mBAAmB,EAAE,CAACZ,SAAS,CAACW,UAAU,IAAI,CAACV,SAAS,CAACU,UAAU;MACnEE,oBAAoB,EAAEjB,KAAK,oBAALA,KAAK,CAAEiB,oBAAoB;MACjDV,oBAAoB,EAAEA,oBAAoB,GACrCW,IAAO,IAAKX,oBAAoB,CAACW,IAA+B,CAAC,GAClEC;IACN,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports.useEntityPage = useEntityPage;
5
5
  var _react = require("react");
6
+ var _mobx = require("mobx");
7
+ var _sourceSave = require("../state/EntityPage/sourceSave");
6
8
  var _useEntityPage = require("../hooks/useEntityPage");
7
9
  /** Entity page options for a source-driven page: the source loads the schema and
8
10
  * its backend reads and writes the entity, so `fetch` and `onSave` derive from
@@ -24,14 +26,26 @@ function useEntityPage(source, options) {
24
26
  // The derived read and write need values that change or don't exist yet when
25
27
  // the state is created: the state itself (the save merges into the loaded
26
28
  // entity) and the latest entityId (a re-fetch should read the current one).
27
- const [page] = (0, _react.useState)(() => ({}));
28
- page.entityId = entityId;
29
+ // entityId is observable so the page's create/update permission follows it.
30
+ const [page] = (0, _react.useState)(() => (0, _mobx.observable)({
31
+ entityId,
32
+ state: undefined
33
+ }, {
34
+ state: false
35
+ }, {
36
+ deep: false
37
+ }));
38
+ (0, _react.useEffect)(() => {
39
+ (0, _mobx.runInAction)(() => {
40
+ page.entityId = entityId;
41
+ });
42
+ }, [page, entityId]);
29
43
  const state = (0, _useEntityPage.useEntityPage)({
30
44
  ...rest,
31
45
  schemaSource: source,
32
46
  isNewEntity: () => !page.entityId,
33
47
  fetch: fetch ?? (() => fetchFromSource(source, page.entityId, createLocalItem)),
34
- onSave: onSave ?? (() => saveToSource(source, page)),
48
+ onSave: onSave ?? (0, _sourceSave.markSourceSave)(() => saveToSource(source, page)),
35
49
  deleteAction: resolveDeleteAction(page, deleteAction)
36
50
  });
37
51
  page.state = state;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useEntityPage","useEntityPage","source","options","entityId","fetch","onSave","createLocalItem","deleteAction","rest","page","useState","state","useOpenEntityPage","schemaSource","isNewEntity","fetchFromSource","saveToSource","resolveDeleteAction","undefined","entity","backend","loadSchema","required","get","values","form","getValues","updatedEntity","create","Error","update","previousItem","changedFieldIds","fn","action","updatedItem","dirtyFields","formState","dirtyFieldIds","Object","entries","filter","value","Boolean","map","fieldId","previousRecord","updatedRecord","changedByValue","Array","from","Set","keys","is"],"sources":["../../../src/schema/useEntityPage.ts"],"sourcesContent":["import { useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport type { SchemaSource } from '@wix/bex-core';\nimport type { EntityPageDeleteAction, EntityPageState } from '../state';\nimport {\n useEntityPage as useOpenEntityPage,\n type UseEntityPageParams,\n} from '../hooks/useEntityPage';\n\n/** Entity page options for a source-driven page: the source loads the schema and\n * its backend reads and writes the entity, so `fetch` and `onSave` derive from\n * it — pass one only to replace the derived default. */\nexport type SchemaEntityPageOptions<\n T,\n V extends FieldValues = FieldValues,\n> = Omit<\n UseEntityPageParams<T, V>,\n 'fetch' | 'onSave' | 'schemaSource' | 'isNewEntity'\n> & {\n /** Creates the initial values for a new entity. */\n createLocalItem?: () => Partial<T>;\n /** The entity to load. Omitted ⇒ the create route: the page starts empty and\n * saving creates an entity. */\n entityId?: string;\n /** Replaces the read through the source's backend. */\n fetch?: UseEntityPageParams<T, V>['fetch'];\n /** Replaces the write through the source's backend. */\n onSave?: UseEntityPageParams<T, V>['onSave'];\n};\n\n/** An entity page driven by a source: the source supplies the schema its fields\n * render from, and its backend reads and writes the entity. Render the state\n * with the `EntityPage` from this entry — it wires the fields provider. */\nexport function useEntityPage<T, V extends FieldValues = FieldValues>(\n source: SchemaSource<T>,\n options: SchemaEntityPageOptions<T, V>,\n): EntityPageState<T, V> {\n const { entityId, fetch, onSave, createLocalItem, deleteAction, ...rest } =\n options;\n\n // The derived read and write need values that change or don't exist yet when\n // the state is created: the state itself (the save merges into the loaded\n // entity) and the latest entityId (a re-fetch should read the current one).\n const [page] = useState<PageRef<T, V>>(() => ({}));\n page.entityId = entityId;\n\n const state = useOpenEntityPage<T, V>({\n ...rest,\n schemaSource: source,\n isNewEntity: () => !page.entityId,\n fetch:\n fetch ?? (() => fetchFromSource(source, page.entityId, createLocalItem)),\n onSave: onSave ?? (() => saveToSource(source, page)),\n deleteAction: resolveDeleteAction(page, deleteAction),\n } as UseEntityPageParams<T, V>);\n\n page.state = state;\n\n return state;\n}\n\nfunction resolveDeleteAction<T, V extends FieldValues>(\n page: PageRef<T, V>,\n deleteAction: EntityPageDeleteAction<T> | undefined,\n): EntityPageDeleteAction<T> | undefined {\n if (!deleteAction || !page.entityId) {\n return undefined;\n }\n\n return deleteAction;\n}\n\ninterface PageRef<T, V extends FieldValues> {\n entityId?: string;\n state?: EntityPageState<T, V>;\n}\n\nasync function fetchFromSource<T>(\n source: SchemaSource<T>,\n entityId?: string,\n createLocalItem?: () => Partial<T>,\n): Promise<{ entity: T | undefined }> {\n if (!entityId) {\n return { entity: createLocalItem?.() as T | undefined };\n }\n\n const { backend } = await source.loadSchema();\n return { entity: await required(backend.get, 'reading')(entityId) };\n}\n\nasync function saveToSource<T, V extends FieldValues>(\n source: SchemaSource<T>,\n page: PageRef<T, V>,\n): Promise<{ updatedEntity: T }> {\n const { entityId, state } = page;\n const { backend } = await source.loadSchema();\n const values = state!.form.getValues() as Partial<T>;\n\n // Which write to run follows the route, not whether an entity happens to be\n // loaded: an id whose entity is missing (deleted, or filtered out by\n // permissions) must fail rather than quietly create a second record.\n if (!entityId) {\n return {\n updatedEntity: await required(\n backend.create,\n 'creating',\n )({\n ...(state!.entity ?? {}),\n ...values,\n }),\n };\n }\n\n const { entity } = state!;\n if (!entity) {\n throw new Error(`The source has no entity \"${entityId}\" to update`);\n }\n\n const updatedEntity = { ...entity, ...values } as T;\n\n return {\n updatedEntity: await required(backend.update, 'updating')(updatedEntity, {\n previousItem: entity,\n changedFieldIds: changedFieldIds(entity, updatedEntity, state!.form),\n }),\n };\n}\n\nfunction required<F>(fn: F | undefined, action: string): F {\n if (!fn) {\n throw new Error(`The source doesn't support ${action} items`);\n }\n return fn;\n}\n\nfunction changedFieldIds<T, V extends FieldValues>(\n previousItem: T,\n updatedItem: T,\n form: EntityPageState<T, V>['form'],\n): string[] {\n const dirtyFields = form.formState.dirtyFields as Record<string, unknown>;\n const dirtyFieldIds = Object.entries(dirtyFields)\n .filter(([, value]) => Boolean(value))\n .map(([fieldId]) => fieldId);\n\n const previousRecord = previousItem as Record<string, unknown>;\n const updatedRecord = updatedItem as Record<string, unknown>;\n const changedByValue = Array.from(\n new Set([...Object.keys(previousRecord), ...Object.keys(updatedRecord)]),\n ).filter(\n (fieldId) => !Object.is(previousRecord[fieldId], updatedRecord[fieldId]),\n );\n\n return Array.from(new Set([...dirtyFieldIds, ...changedByValue]));\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_mobx","_sourceSave","_useEntityPage","useEntityPage","source","options","entityId","fetch","onSave","createLocalItem","deleteAction","rest","page","useState","observable","state","undefined","deep","useEffect","runInAction","useOpenEntityPage","schemaSource","isNewEntity","fetchFromSource","markSourceSave","saveToSource","resolveDeleteAction","entity","backend","loadSchema","required","get","values","form","getValues","updatedEntity","create","Error","update","previousItem","changedFieldIds","fn","action","updatedItem","dirtyFields","formState","dirtyFieldIds","Object","entries","filter","value","Boolean","map","fieldId","previousRecord","updatedRecord","changedByValue","Array","from","Set","keys","is"],"sources":["../../../src/schema/useEntityPage.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { observable, runInAction } from 'mobx';\nimport type { FieldValues } from 'react-hook-form';\nimport type { SchemaSource } from '@wix/bex-core';\nimport type { EntityPageDeleteAction, EntityPageState } from '../state';\nimport { markSourceSave } from '../state/EntityPage/sourceSave';\nimport {\n useEntityPage as useOpenEntityPage,\n type UseEntityPageParams,\n} from '../hooks/useEntityPage';\n\n/** Entity page options for a source-driven page: the source loads the schema and\n * its backend reads and writes the entity, so `fetch` and `onSave` derive from\n * it — pass one only to replace the derived default. */\nexport type SchemaEntityPageOptions<\n T,\n V extends FieldValues = FieldValues,\n> = Omit<\n UseEntityPageParams<T, V>,\n 'fetch' | 'onSave' | 'schemaSource' | 'isNewEntity'\n> & {\n /** Creates the initial values for a new entity. */\n createLocalItem?: () => Partial<T>;\n /** The entity to load. Omitted ⇒ the create route: the page starts empty and\n * saving creates an entity. */\n entityId?: string;\n /** Replaces the read through the source's backend. */\n fetch?: UseEntityPageParams<T, V>['fetch'];\n /** Replaces the write through the source's backend. */\n onSave?: UseEntityPageParams<T, V>['onSave'];\n};\n\n/** An entity page driven by a source: the source supplies the schema its fields\n * render from, and its backend reads and writes the entity. Render the state\n * with the `EntityPage` from this entry — it wires the fields provider. */\nexport function useEntityPage<T, V extends FieldValues = FieldValues>(\n source: SchemaSource<T>,\n options: SchemaEntityPageOptions<T, V>,\n): EntityPageState<T, V> {\n const { entityId, fetch, onSave, createLocalItem, deleteAction, ...rest } =\n options;\n\n // The derived read and write need values that change or don't exist yet when\n // the state is created: the state itself (the save merges into the loaded\n // entity) and the latest entityId (a re-fetch should read the current one).\n // entityId is observable so the page's create/update permission follows it.\n const [page] = useState(() =>\n observable<PageRef<T, V>>(\n { entityId, state: undefined },\n { state: false },\n { deep: false },\n ),\n );\n useEffect(() => {\n runInAction(() => {\n page.entityId = entityId;\n });\n }, [page, entityId]);\n\n const state = useOpenEntityPage<T, V>({\n ...rest,\n schemaSource: source,\n isNewEntity: () => !page.entityId,\n fetch:\n fetch ?? (() => fetchFromSource(source, page.entityId, createLocalItem)),\n onSave: onSave ?? markSourceSave(() => saveToSource(source, page)),\n deleteAction: resolveDeleteAction(page, deleteAction),\n } as UseEntityPageParams<T, V>);\n\n page.state = state;\n\n return state;\n}\n\nfunction resolveDeleteAction<T, V extends FieldValues>(\n page: PageRef<T, V>,\n deleteAction: EntityPageDeleteAction<T> | undefined,\n): EntityPageDeleteAction<T> | undefined {\n if (!deleteAction || !page.entityId) {\n return undefined;\n }\n\n return deleteAction;\n}\n\ninterface PageRef<T, V extends FieldValues> {\n entityId?: string;\n state?: EntityPageState<T, V>;\n}\n\nasync function fetchFromSource<T>(\n source: SchemaSource<T>,\n entityId?: string,\n createLocalItem?: () => Partial<T>,\n): Promise<{ entity: T | undefined }> {\n if (!entityId) {\n return { entity: createLocalItem?.() as T | undefined };\n }\n\n const { backend } = await source.loadSchema();\n return { entity: await required(backend.get, 'reading')(entityId) };\n}\n\nasync function saveToSource<T, V extends FieldValues>(\n source: SchemaSource<T>,\n page: PageRef<T, V>,\n): Promise<{ updatedEntity: T }> {\n const { entityId, state } = page;\n const { backend } = await source.loadSchema();\n const values = state!.form.getValues() as Partial<T>;\n\n // Which write to run follows the route, not whether an entity happens to be\n // loaded: an id whose entity is missing (deleted, or filtered out by\n // permissions) must fail rather than quietly create a second record.\n if (!entityId) {\n return {\n updatedEntity: await required(\n backend.create,\n 'creating',\n )({\n ...(state!.entity ?? {}),\n ...values,\n }),\n };\n }\n\n const { entity } = state!;\n if (!entity) {\n throw new Error(`The source has no entity \"${entityId}\" to update`);\n }\n\n const updatedEntity = { ...entity, ...values } as T;\n\n return {\n updatedEntity: await required(backend.update, 'updating')(updatedEntity, {\n previousItem: entity,\n changedFieldIds: changedFieldIds(entity, updatedEntity, state!.form),\n }),\n };\n}\n\nfunction required<F>(fn: F | undefined, action: string): F {\n if (!fn) {\n throw new Error(`The source doesn't support ${action} items`);\n }\n return fn;\n}\n\nfunction changedFieldIds<T, V extends FieldValues>(\n previousItem: T,\n updatedItem: T,\n form: EntityPageState<T, V>['form'],\n): string[] {\n const dirtyFields = form.formState.dirtyFields as Record<string, unknown>;\n const dirtyFieldIds = Object.entries(dirtyFields)\n .filter(([, value]) => Boolean(value))\n .map(([fieldId]) => fieldId);\n\n const previousRecord = previousItem as Record<string, unknown>;\n const updatedRecord = updatedItem as Record<string, unknown>;\n const changedByValue = Array.from(\n new Set([...Object.keys(previousRecord), ...Object.keys(updatedRecord)]),\n ).filter(\n (fieldId) => !Object.is(previousRecord[fieldId], updatedRecord[fieldId]),\n );\n\n return Array.from(new Set([...dirtyFieldIds, ...changedByValue]));\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,15 +5,15 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "CollectionPageHeader3311006848";
8
+ var _namespace_ = "CollectionPageHeader1447808307";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "CollectionPageHeader3311006848__root",
16
- "mobileMoreActions": "CollectionPageHeader3311006848__mobileMoreActions"
15
+ "root": "CollectionPageHeader1447808307__root",
16
+ "mobileMoreActions": "CollectionPageHeader1447808307__mobileMoreActions"
17
17
  };
18
18
  var keyframes = exports.keyframes = {};
19
19
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader3311006848\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader3311006848__root\",\"mobileMoreActions\":\"CollectionPageHeader3311006848__mobileMoreActions\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-page-header-title-actions-gap\":\"--wds-page-header-title-actions-gap\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,sCAAsC;EAAC,mBAAmB,EAAC;AAAmD,CAAC;AACrI,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,mCAAmC,EAAC;AAAqC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader1447808307\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader1447808307__root\",\"mobileMoreActions\":\"CollectionPageHeader1447808307__mobileMoreActions\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-page-header-title-actions-gap\":\"--wds-page-header-title-actions-gap\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,sCAAsC;EAAC,mBAAmB,EAAC;AAAmD,CAAC;AACrI,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,mCAAmC,EAAC;AAAqC,CAAC","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "MobilePrimaryActionBar4227138949";
8
+ var _namespace_ = "MobilePrimaryActionBar1781613891";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "MobilePrimaryActionBar4227138949__root"
15
+ "root": "MobilePrimaryActionBar1781613891__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"MobilePrimaryActionBar4227138949\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"MobilePrimaryActionBar4227138949__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-space-300\":\"--wds-space-300\",\"wds-space-400\":\"--wds-space-400\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kCAAkC;AACpD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAwC,CAAC;AAC/D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"MobilePrimaryActionBar1781613891\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"MobilePrimaryActionBar1781613891__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-space-300\":\"--wds-space-300\",\"wds-space-400\":\"--wds-space-400\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kCAAkC;AACpD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAwC,CAAC;AAC/D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "TitleBadges3914608263";
8
+ var _namespace_ = "TitleBadges239452423";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "TitleBadges3914608263__root",
16
- "tooltip": "TitleBadges3914608263__tooltip",
17
- "tooltipTrigger": "TitleBadges3914608263__tooltipTrigger"
15
+ "root": "TitleBadges239452423__root",
16
+ "tooltip": "TitleBadges239452423__tooltip",
17
+ "tooltipTrigger": "TitleBadges239452423__tooltipTrigger"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"TitleBadges3914608263\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"TitleBadges3914608263__root\",\"tooltip\":\"TitleBadges3914608263__tooltip\",\"tooltipTrigger\":\"TitleBadges3914608263__tooltipTrigger\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,uBAAuB;AACzC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,6BAA6B;EAAC,SAAS,EAAC,gCAAgC;EAAC,gBAAgB,EAAC;AAAuC,CAAC;AACxJ,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/TitleBadges.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"TitleBadges239452423\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"TitleBadges239452423__root\",\"tooltip\":\"TitleBadges239452423__tooltip\",\"tooltipTrigger\":\"TitleBadges239452423__tooltipTrigger\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,sBAAsB;AACxC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,4BAA4B;EAAC,SAAS,EAAC,+BAA+B;EAAC,gBAAgB,EAAC;AAAsC,CAAC;AACrJ,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -16,6 +16,9 @@ class CellValueState {
16
16
  /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.
17
17
  * Each row's drafts are flushed as one update when focus leaves the row. */
18
18
  (0, _defineProperty2.default)(this, "_draftCells", new Map());
19
+ /** Local new rows not to create yet, with how many open paste toasts hold
20
+ * each. See `applyPastedValues`. */
21
+ (0, _defineProperty2.default)(this, "_heldNewRows", new Map());
19
22
  (0, _defineProperty2.default)(this, "_parent", void 0);
20
23
  (0, _defineProperty2.default)(this, "_extraCellTypes", void 0);
21
24
  this._parent = parent;
@@ -29,8 +32,10 @@ class CellValueState {
29
32
  commitHandler: _mobx.action,
30
33
  applyBulkRawValues: _mobx.action,
31
34
  applyBulkValues: _mobx.action,
35
+ applyPastedValues: _mobx.action,
32
36
  revalidatePendingCells: _mobx.action,
33
37
  flushDrafts: _mobx.action,
38
+ flushDraftsOnUnmount: _mobx.action,
34
39
  flushRow: _mobx.action,
35
40
  dropRowCellState: _mobx.action
36
41
  });
@@ -301,6 +306,12 @@ class CellValueState {
301
306
  * Handles conversion failures by storing them as pending cells.
302
307
  */
303
308
  applyBulkRawValues(rawChanges) {
309
+ this.applyBulkValues(this._deserializeRawValues(rawChanges));
310
+ }
311
+
312
+ /** Values that fail are stored as pending cells with their error and left
313
+ * out of the result. */
314
+ _deserializeRawValues(rawChanges) {
304
315
  const changes = [];
305
316
  for (const {
306
317
  rowKey,
@@ -328,7 +339,7 @@ class CellValueState {
328
339
  });
329
340
  }
330
341
  }
331
- this.applyBulkValues(changes);
342
+ return changes;
332
343
  }
333
344
 
334
345
  /**
@@ -338,7 +349,7 @@ class CellValueState {
338
349
  * checking isColumnEditable here — not just at the call sites — keeps
339
350
  * read-only cells protected regardless of entry point.
340
351
  */
341
- applyBulkValues(changes) {
352
+ applyBulkValues(changes, options) {
342
353
  const rowUpdates = new Map();
343
354
  for (const {
344
355
  rowKey,
@@ -394,7 +405,127 @@ class CellValueState {
394
405
  item
395
406
  }) => item), updates.map(({
396
407
  changedFieldIds
397
- }) => Array.from(changedFieldIds)));
408
+ }) => Array.from(changedFieldIds)), options);
409
+ }
410
+
411
+ /**
412
+ * Applies pasted values and shows `successToast` with Undo. The server call
413
+ * waits until the toast closes or times out. With `batchWait` the toast has
414
+ * no Undo (see `MutationState.updatesAreBatched`).
415
+ *
416
+ * Undo rolls back the saved rows, and puts back the unsaved state (invalid
417
+ * values and drafts) of the pasted cells and of the drafts in their rows,
418
+ * which the paste saves along with it. A cell changed again after the paste
419
+ * keeps its newer value.
420
+ *
421
+ * Local new rows the paste touched are not created while the toast is open.
422
+ * Otherwise the click on Undo, which takes focus out of the table, would
423
+ * create them with the pasted values first.
424
+ */
425
+ applyPastedValues(changes, rawChanges, successToast) {
426
+ if (this._parent.mutation.updatesAreBatched) {
427
+ this.applyBulkValues([...changes, ...this._deserializeRawValues(rawChanges)], {
428
+ successToast
429
+ });
430
+ return;
431
+ }
432
+ const pastedCells = [...changes, ...rawChanges];
433
+ const rowKeys = new Set(pastedCells.map(({
434
+ rowKey
435
+ }) => rowKey));
436
+ const affectedCellKeys = new Set();
437
+ for (const {
438
+ rowKey,
439
+ columnId
440
+ } of pastedCells) {
441
+ const key = this._pendingCellKey(rowKey, columnId);
442
+ if (key) {
443
+ affectedCellKeys.add(key);
444
+ }
445
+ }
446
+ for (const [key, draft] of this._draftCells) {
447
+ if (rowKeys.has(draft.rowKey)) {
448
+ affectedCellKeys.add(key);
449
+ }
450
+ }
451
+ const beforePaste = this._snapshotUnsavedCells(affectedCellKeys);
452
+ // Replaced right after the paste below. `onUndo` reads it, and core calls
453
+ // `onUndo` only on a click on the toast, after that.
454
+ let afterPaste = beforePaste;
455
+ const newRowKeys = new Set([...rowKeys].filter(rowKey => this._parent.mutation.isLocalNewRow(rowKey)));
456
+ for (const rowKey of newRowKeys) {
457
+ this._heldNewRows.set(rowKey, (this._heldNewRows.get(rowKey) ?? 0) + 1);
458
+ }
459
+ let toastOpen = true;
460
+ // Retry calls `onKept` again; only the first call counts.
461
+ const endUndoWindow = () => {
462
+ if (!toastOpen) {
463
+ return false;
464
+ }
465
+ toastOpen = false;
466
+ for (const rowKey of newRowKeys) {
467
+ const holds = (this._heldNewRows.get(rowKey) ?? 1) - 1;
468
+ if (holds > 0) {
469
+ this._heldNewRows.set(rowKey, holds);
470
+ } else {
471
+ this._heldNewRows.delete(rowKey);
472
+ }
473
+ }
474
+ return true;
475
+ };
476
+ this.applyBulkValues(
477
+ // After the snapshot: this writes invalid values into `_pendingCells`.
478
+ [...changes, ...this._deserializeRawValues(rawChanges)], {
479
+ successToast,
480
+ undo: {
481
+ onUndo: (0, _mobx.action)(() => {
482
+ const wasOpen = endUndoWindow();
483
+ if (!wasOpen) {
484
+ return;
485
+ }
486
+ const restoredDraftRows = new Set();
487
+ for (const key of affectedCellKeys) {
488
+ const pasted = afterPaste.get(key);
489
+ if (this._pendingCells.get(key) !== (pasted == null ? void 0 : pasted.pending) || this._draftCells.get(key) !== (pasted == null ? void 0 : pasted.draft)) {
490
+ continue;
491
+ }
492
+ const {
493
+ pending,
494
+ draft
495
+ } = beforePaste.get(key) ?? {};
496
+ setOrDelete(this._pendingCells, key, pending);
497
+ setOrDelete(this._draftCells, key, draft);
498
+ if (draft) {
499
+ restoredDraftRows.add(draft.rowKey);
500
+ }
501
+ }
502
+ // The click on Undo already flushed the table, before these drafts
503
+ // were back. No toast: nothing should confirm the Undo.
504
+ this._flushRowsWithoutFocus(restoredDraftRows, {
505
+ successToast: null
506
+ });
507
+ }),
508
+ onKept: (0, _mobx.action)(() => {
509
+ const wasOpen = endUndoWindow();
510
+ if (!wasOpen) {
511
+ return;
512
+ }
513
+ this._flushRowsWithoutFocus(newRowKeys);
514
+ })
515
+ }
516
+ });
517
+ afterPaste = this._snapshotUnsavedCells(affectedCellKeys);
518
+ }
519
+ _snapshotUnsavedCells(keys) {
520
+ return new Map([...keys].map(key => [key, {
521
+ pending: this._pendingCells.get(key),
522
+ draft: this._draftCells.get(key)
523
+ }]));
524
+ }
525
+ _flushRowsWithoutFocus(rowKeys, options) {
526
+ var _this$_parent$cellInt;
527
+ const focusedRowKey = (_this$_parent$cellInt = this._parent.cellInteraction.focusedCell) == null ? void 0 : _this$_parent$cellInt.rowKey;
528
+ this._flushRows(rowKey => rowKeys.has(rowKey) && rowKey !== focusedRowKey, options);
398
529
  }
399
530
  _applyValue(rowKey, columnId, value) {
400
531
  var _this$_parent$collect4;
@@ -442,20 +573,29 @@ class CellValueState {
442
573
  this._flushRows(rowKey => rowKey !== exceptRowKey);
443
574
  }
444
575
 
576
+ /** Like `flushDrafts()`, but also saves new rows held by an open paste
577
+ * toast: focus can stay on a held row on unmount, and the toast doesn't
578
+ * create a focused row. */
579
+ flushDraftsOnUnmount() {
580
+ this._heldNewRows.clear();
581
+ this.flushDrafts();
582
+ }
583
+
445
584
  /** Save one row's drafts now, leaving other rows' drafts buffered. */
446
585
  flushRow(rowKey) {
447
586
  this._flushRows(key => key === rowKey);
448
587
  }
449
- _flushRows(includeRow) {
588
+ _flushRows(includeRow, options) {
589
+ const include = rowKey => includeRow(rowKey) && !this._heldNewRows.has(rowKey);
450
590
  const invalidNewRows = new Set();
451
591
  for (const rowKey of this._parent.mutation._drafts.keys()) {
452
- if (includeRow(rowKey) && !this._validateNewRow(rowKey)) {
592
+ if (include(rowKey) && !this._validateNewRow(rowKey)) {
453
593
  invalidNewRows.add(rowKey);
454
594
  }
455
595
  }
456
596
  const rowKeys = new Set();
457
597
  for (const entry of this._draftCells.values()) {
458
- if (includeRow(entry.rowKey)) {
598
+ if (include(entry.rowKey)) {
459
599
  rowKeys.add(entry.rowKey);
460
600
  }
461
601
  }
@@ -479,7 +619,7 @@ class CellValueState {
479
619
  item
480
620
  }) => item), updates.map(({
481
621
  changedFieldIds
482
- }) => changedFieldIds));
622
+ }) => changedFieldIds), options);
483
623
  }
484
624
  }
485
625
 
@@ -550,4 +690,11 @@ class CellValueState {
550
690
  }
551
691
  }
552
692
  exports.CellValueState = CellValueState;
693
+ const setOrDelete = (map, key, value) => {
694
+ if (value === undefined) {
695
+ map.delete(key);
696
+ } else {
697
+ map.set(key, value);
698
+ }
699
+ };
553
700
  //# sourceMappingURL=CellValueState.js.map