@wix/patterns 1.432.0 → 1.434.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.
- package/dist/cjs/components/ActionCell/DisabledActionCellMenu.js +3 -3
- package/dist/cjs/components/ActionCell/DisabledActionCellMenu.js.map +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsList.js +9 -4
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsList.js.map +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsListItem.js +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsListItem.js.map +1 -1
- package/dist/cjs/components/BulkActionButton/BulkActionButton.js +6 -7
- package/dist/cjs/components/BulkActionButton/BulkActionButton.js.map +1 -1
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +10 -8
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldForm.js +2 -2
- package/dist/cjs/components/CustomFieldModal/CustomFieldForm.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2.js +68 -32
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2Permissions.js +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2Permissions.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldModal.js +18 -18
- package/dist/cjs/components/CustomFieldModal/CustomFieldModal.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js +3 -3
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdownV2.js +14 -9
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdownV2.js.map +1 -1
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldItem.js +22 -14
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldItem.js.map +1 -1
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldsList.js +17 -8
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldsList.js.map +1 -1
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldsPanel.js +36 -13
- package/dist/cjs/components/CustomFieldsPanel/CustomFieldsPanel.js.map +1 -1
- package/dist/cjs/components/DataExtension/dataExtensionFieldDraft.js +1 -1
- package/dist/cjs/components/DataExtension/dataExtensionFieldDraft.js.map +1 -1
- package/dist/cjs/components/DataExtension/dataExtensionFieldManagement.js +31 -34
- package/dist/cjs/components/DataExtension/dataExtensionFieldManagement.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.js +15 -13
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +103 -41
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +12 -5
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.js +11 -9
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +130 -71
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js +8 -2
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.js +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css +27 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +10 -5
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/useAddRow.js +1 -0
- package/dist/cjs/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportButton.js +0 -1
- package/dist/cjs/components/ExportButton/ExportButton.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Grid/GridContent.js +9 -7
- package/dist/cjs/components/Grid/GridContent.js.map +1 -1
- package/dist/cjs/components/Grid/useGridItemActions.js +5 -5
- package/dist/cjs/components/Grid/useGridItemActions.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportButton.js +0 -1
- package/dist/cjs/components/ImportButton/ImportButton.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepProgress.js +1 -4
- package/dist/cjs/components/ImportButton/ImportStepProgress.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/getImportModalStepProps.js +3 -7
- package/dist/cjs/components/ImportButton/getImportModalStepProps.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PageWrapper/PageWrapperBase.js +7 -6
- package/dist/cjs/components/PageWrapper/PageWrapperBase.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerModal/PickerModal.js +6 -5
- package/dist/cjs/components/PickerModal/PickerModal.js.map +1 -1
- package/dist/cjs/components/PickerStandalone/PickerStandalone.js +10 -9
- package/dist/cjs/components/PickerStandalone/PickerStandalone.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +34 -32
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/cjs/components/SchemaSource/standardFieldTypeLabels.js +2 -2
- package/dist/cjs/components/SchemaSource/standardFieldTypeLabels.js.map +1 -1
- package/dist/cjs/components/SchemaSource/tableSchemaSource.js +2 -2
- package/dist/cjs/components/SchemaSource/tableSchemaSource.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepCard.js +17 -17
- package/dist/cjs/components/SetupWidget/SetupStepCard.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepIcon.js +4 -4
- package/dist/cjs/components/SetupWidget/SetupStepIcon.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.js +3 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsDefault.js +3 -1
- package/dist/cjs/components/TabsFilter/TabsDefault.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.js +9 -6
- package/dist/cjs/components/TabsFilter/TabsFilter.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css +6 -0
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +8 -4
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js +1 -2
- package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/exports/schema.js.map +1 -1
- package/dist/cjs/hooks/useEditableTableCollection.js.map +1 -1
- package/dist/cjs/hooks/useOpenCollectionOverlay.js +2 -5
- package/dist/cjs/hooks/useOpenCollectionOverlay.js.map +1 -1
- package/dist/cjs/schema/syncSourcePermissions.js +10 -5
- package/dist/cjs/schema/syncSourcePermissions.js.map +1 -1
- package/dist/cjs/schema/useLayoutSwitchCollection.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellInteractionState.js +30 -0
- package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +45 -5
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/MutationState.js +19 -2
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
- package/dist/cjs/state/EditableTable/index.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/LayoutSwitchState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CollectionEmptyState.md +1 -1
- package/dist/docs/CollectionPremiumEmptyState.md +1 -1
- package/dist/docs/index.json +38 -38
- package/dist/esm/components/ActionCell/DisabledActionCellMenu.js +1 -3
- package/dist/esm/components/ActionCell/DisabledActionCellMenu.js.map +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsList.js +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsList.js.map +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsListItem.js +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsListItem.js.map +1 -1
- package/dist/esm/components/BulkActionButton/BulkActionButton.js +1 -1
- package/dist/esm/components/BulkActionButton/BulkActionButton.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +2 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomFieldModal/CustomFieldForm.js +2 -2
- package/dist/esm/components/CustomFieldModal/CustomFieldForm.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormV2.js +11 -5
- package/dist/esm/components/CustomFieldModal/CustomFieldFormV2.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormV2Permissions.js +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormV2Permissions.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldModal.js +4 -4
- package/dist/esm/components/CustomFieldModal/CustomFieldModal.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +3 -3
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdownV2.js +14 -9
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdownV2.js.map +1 -1
- package/dist/esm/components/CustomFieldsPanel/CustomFieldItem.js +8 -5
- package/dist/esm/components/CustomFieldsPanel/CustomFieldItem.js.map +1 -1
- package/dist/esm/components/CustomFieldsPanel/CustomFieldsList.js +7 -3
- package/dist/esm/components/CustomFieldsPanel/CustomFieldsList.js.map +1 -1
- package/dist/esm/components/CustomFieldsPanel/CustomFieldsPanel.js +5 -3
- package/dist/esm/components/CustomFieldsPanel/CustomFieldsPanel.js.map +1 -1
- package/dist/esm/components/DataExtension/dataExtensionFieldDraft.js +1 -1
- package/dist/esm/components/DataExtension/dataExtensionFieldDraft.js.map +1 -1
- package/dist/esm/components/DataExtension/dataExtensionFieldManagement.js +28 -31
- package/dist/esm/components/DataExtension/dataExtensionFieldManagement.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.js +8 -6
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +103 -41
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.js +2 -1
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +96 -40
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js +8 -4
- package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css +1 -1
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css +27 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +3 -3
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/useAddRow.js +1 -0
- package/dist/esm/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/ExportButton/ExportButton.js +1 -1
- package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Grid/GridContent.js +2 -1
- package/dist/esm/components/Grid/GridContent.js.map +1 -1
- package/dist/esm/components/Grid/useGridItemActions.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportButton.js +1 -1
- package/dist/esm/components/ImportButton/ImportButton.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepProgress.js +1 -4
- package/dist/esm/components/ImportButton/ImportStepProgress.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/ImportButton/getImportModalStepProps.js +2 -5
- package/dist/esm/components/ImportButton/getImportModalStepProps.js.map +1 -1
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PageWrapper/PageWrapperBase.js +2 -1
- package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerModal/PickerModal.js +2 -1
- package/dist/esm/components/PickerModal/PickerModal.js.map +1 -1
- package/dist/esm/components/PickerStandalone/PickerStandalone.js +2 -1
- package/dist/esm/components/PickerStandalone/PickerStandalone.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +34 -36
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/SchemaSource/standardFieldTypeLabels.js +2 -2
- package/dist/esm/components/SchemaSource/tableSchemaSource.js +2 -2
- package/dist/esm/components/SchemaSource/tableSchemaSource.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepCard.js +1 -1
- package/dist/esm/components/SetupWidget/SetupStepCard.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepIcon.js +1 -1
- package/dist/esm/components/SetupWidget/SetupStepIcon.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.js +2 -1
- package/dist/esm/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsDefault.js +2 -2
- package/dist/esm/components/TabsFilter/TabsDefault.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.js +3 -1
- package/dist/esm/components/TabsFilter/TabsFilter.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css +6 -0
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/TagsAssignButton/TagsAssignButton.js +1 -1
- package/dist/esm/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useOpenCollectionOverlay.js +2 -5
- package/dist/esm/hooks/useOpenCollectionOverlay.js.map +1 -1
- package/dist/esm/schema/syncSourcePermissions.js +14 -8
- package/dist/esm/schema/syncSourcePermissions.js.map +1 -1
- package/dist/esm/schema/useLayoutSwitchCollection.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/EditableTable/CellInteractionState.js +25 -0
- package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +46 -5
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/EditableTable/MutationState.js +17 -2
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionCell/DisabledActionCellMenu.d.ts.map +1 -1
- package/dist/types/components/ArchivedItemsPanel/ArchivedItemsList.d.ts.map +1 -1
- package/dist/types/components/BulkActionButton/BulkActionButton.d.ts.map +1 -1
- package/dist/types/components/CardContainer/CardContainer.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldFormV2.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldModal.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdownV2.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsPanel/CustomFieldItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsPanel/CustomFieldsList.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsPanel/CustomFieldsPanel.d.ts.map +1 -1
- package/dist/types/components/DataExtension/dataExtensionFieldManagement.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +8 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +1 -0
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts +1 -0
- package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.d.ts +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts +6 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useAddRow.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportButton.d.ts.map +1 -1
- package/dist/types/components/Grid/GridContent.d.ts.map +1 -1
- package/dist/types/components/Grid/useGridItemActions.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportButton.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepProgress.d.ts.map +1 -1
- package/dist/types/components/ImportButton/getImportModalStepProps.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerModal/PickerModal.d.ts.map +1 -1
- package/dist/types/components/PickerStandalone/PickerStandalone.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/standardFieldTypeLabels.d.ts +2 -2
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepCard.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepIcon.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsDefault.d.ts +2 -0
- package/dist/types/components/TabsFilter/TabsDefault.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.d.ts +1 -6
- package/dist/types/components/TabsFilter/TabsFilter.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts +4 -0
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/TagsAssignButton/TagsAssignButton.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/exports/schema.d.ts +1 -1
- package/dist/types/exports/schema.d.ts.map +1 -1
- package/dist/types/hooks/useEditableTableCollection.d.ts +1 -1
- package/dist/types/hooks/useEditableTableCollection.d.ts.map +1 -1
- package/dist/types/hooks/useOpenCollectionOverlay.d.ts.map +1 -1
- package/dist/types/schema/syncSourcePermissions.d.ts +3 -1
- package/dist/types/schema/syncSourcePermissions.d.ts.map +1 -1
- package/dist/types/schema/useLayoutSwitchCollection.d.ts +1 -1
- package/dist/types/schema/useLayoutSwitchCollection.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellInteractionState.d.ts +5 -0
- package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts +25 -3
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/MutationState.d.ts +1 -0
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/index.d.ts +1 -1
- package/dist/types/state/EditableTable/index.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/LayoutSwitchState.d.ts +1 -1
- package/dist/types/state/LayoutSwitchState.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +1 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +1 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +1 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/ActionCell/DisabledActionCellMenu.tsx +1 -3
- package/src/components/ArchivedItemsPanel/ArchivedItemsList.tsx +5 -1
- package/src/components/ArchivedItemsPanel/ArchivedItemsListItem.tsx +1 -1
- package/src/components/BulkActionButton/BulkActionButton.tsx +33 -37
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.tsx +2 -0
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomFieldModal/CustomFieldForm.tsx +2 -2
- package/src/components/CustomFieldModal/CustomFieldFormV2.tsx +25 -6
- package/src/components/CustomFieldModal/CustomFieldFormV2Permissions.tsx +1 -1
- package/src/components/CustomFieldModal/CustomFieldModal.tsx +4 -5
- package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +3 -3
- package/src/components/CustomFieldModal/CustomFieldTypeDropdownV2.tsx +15 -10
- package/src/components/CustomFieldsPanel/CustomFieldItem.tsx +12 -6
- package/src/components/CustomFieldsPanel/CustomFieldsList.tsx +7 -3
- package/src/components/CustomFieldsPanel/CustomFieldsPanel.tsx +20 -7
- package/src/components/DataExtension/dataExtensionFieldDraft.ts +1 -1
- package/src/components/DataExtension/dataExtensionFieldManagement.ts +38 -34
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +103 -41
- package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
- package/src/components/EditableTable/EditableCell.tsx +8 -6
- package/src/components/EditableTable/EditableTable.tsx +2 -0
- package/src/components/EditableTable/EditableTableContextMenu.tsx +130 -43
- package/src/components/EditableTable/EditableTableContextMenu.uni.driver.ts +11 -4
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css +1 -1
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.tsx +1 -1
- package/src/components/EditableTable/cellTypes/address/Edit.st.css +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css +1 -1
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css +1 -1
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css +1 -1
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css +1 -1
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css +27 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +3 -3
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EditableTable/useAddRow.ts +1 -0
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/ExportButton/ExportButton.tsx +0 -1
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Grid/GridContent.tsx +2 -0
- package/src/components/Grid/useGridItemActions.tsx +3 -1
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportButton.tsx +0 -1
- package/src/components/ImportButton/ImportStepProgress.tsx +1 -4
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/ImportButton/getImportModalStepProps.tsx +2 -5
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PageWrapper/PageWrapperBase.tsx +2 -1
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerModal/PickerModal.tsx +2 -1
- package/src/components/PickerStandalone/PickerStandalone.tsx +2 -1
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +41 -40
- package/src/components/SchemaSource/standardFieldTypeLabels.ts +2 -2
- package/src/components/SchemaSource/tableSchemaSource.ts +2 -2
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupStepCard.tsx +5 -1
- package/src/components/SetupWidget/SetupStepIcon.tsx +4 -1
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.tsx +2 -0
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsDefault.tsx +5 -3
- package/src/components/TabsFilter/TabsFilter.st.css +6 -0
- package/src/components/TabsFilter/TabsFilter.st.css.ts +3 -3
- package/src/components/TabsFilter/TabsFilter.tsx +3 -0
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/TagsAssignButton/TagsAssignButton.tsx +0 -1
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/exports/schema.ts +5 -1
- package/src/hooks/useEditableTableCollection.ts +1 -1
- package/src/hooks/useOpenCollectionOverlay.ts +3 -7
- package/src/schema/syncSourcePermissions.ts +17 -8
- package/src/schema/useLayoutSwitchCollection.ts +3 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellInteractionState.ts +34 -0
- package/src/state/EditableTable/EditableTableState.ts +72 -8
- package/src/state/EditableTable/MutationState.ts +24 -2
- package/src/state/EditableTable/index.ts +1 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/LayoutSwitchState.ts +1 -1
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -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_ = \"
|
|
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_ = \"CollectionPageHeader3390935773\";\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\":\"CollectionPageHeader3390935773__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,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;AAAsC,CAAC;AAC7D,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":[]}
|
|
@@ -30,9 +30,11 @@ class CellInteractionState {
|
|
|
30
30
|
selectionAnchor: _mobx.observable.ref,
|
|
31
31
|
isSelecting: _mobx.observable.ref,
|
|
32
32
|
isEditing: _mobx.computed,
|
|
33
|
+
isRangeSelection: _mobx.computed,
|
|
33
34
|
selectedCellsList: _mobx.computed,
|
|
34
35
|
focusCell: _mobx.action,
|
|
35
36
|
clearFocus: _mobx.action,
|
|
37
|
+
replaceRowKey: _mobx.action,
|
|
36
38
|
startEdit: _mobx.action,
|
|
37
39
|
commitEdit: _mobx.action,
|
|
38
40
|
cancelEdit: _mobx.action,
|
|
@@ -50,6 +52,12 @@ class CellInteractionState {
|
|
|
50
52
|
get isEditing() {
|
|
51
53
|
return this.editingCell !== null;
|
|
52
54
|
}
|
|
55
|
+
|
|
56
|
+
/** Focusing a cell also selects it, so a single selected cell is just focus.
|
|
57
|
+
* Only a range of two or more gets the selection styling. */
|
|
58
|
+
get isRangeSelection() {
|
|
59
|
+
return this.selectedCells.size > 1;
|
|
60
|
+
}
|
|
53
61
|
focusCell(rowKey, columnId) {
|
|
54
62
|
if (this.editingCell) {
|
|
55
63
|
this.commitEdit();
|
|
@@ -71,6 +79,24 @@ class CellInteractionState {
|
|
|
71
79
|
this.selectionAnchor = null;
|
|
72
80
|
this.cancelEdit();
|
|
73
81
|
}
|
|
82
|
+
replaceRowKey(oldRowKey, newRowKey) {
|
|
83
|
+
if (oldRowKey === newRowKey) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const replaceCell = cell => (cell == null ? void 0 : cell.rowKey) === oldRowKey ? {
|
|
87
|
+
...cell,
|
|
88
|
+
rowKey: newRowKey
|
|
89
|
+
} : cell;
|
|
90
|
+
this.focusedCell = replaceCell(this.focusedCell);
|
|
91
|
+
this.editingCell = replaceCell(this.editingCell);
|
|
92
|
+
this.selectionAnchor = replaceCell(this.selectionAnchor);
|
|
93
|
+
const selectedCells = new Set();
|
|
94
|
+
for (const key of this.selectedCells) {
|
|
95
|
+
const cell = (0, _utils.parseCellKey)(key);
|
|
96
|
+
selectedCells.add((cell == null ? void 0 : cell.rowKey) === oldRowKey ? (0, _utils.cellKey)(newRowKey, cell.columnId) : key);
|
|
97
|
+
}
|
|
98
|
+
this._diffSelection(selectedCells);
|
|
99
|
+
}
|
|
74
100
|
startEdit(rowKey, columnId, trigger = 'enter') {
|
|
75
101
|
var _this$focusedCell, _this$focusedCell2;
|
|
76
102
|
const rk = rowKey ?? ((_this$focusedCell = this.focusedCell) == null ? void 0 : _this$focusedCell.rowKey);
|
|
@@ -277,6 +303,10 @@ class CellInteractionState {
|
|
|
277
303
|
isCellSelected(rowKey, columnId) {
|
|
278
304
|
return this.selectedCells.has((0, _utils.cellKey)(rowKey, columnId));
|
|
279
305
|
}
|
|
306
|
+
isRowActive(rowKey) {
|
|
307
|
+
var _this$focusedCell5;
|
|
308
|
+
return ((_this$focusedCell5 = this.focusedCell) == null ? void 0 : _this$focusedCell5.rowKey) === rowKey;
|
|
309
|
+
}
|
|
280
310
|
get selectedCellsList() {
|
|
281
311
|
const result = [];
|
|
282
312
|
for (const key of this.selectedCells) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_utils","CellInteractionState","constructor","commitHandler","parent","_defineProperty2","default","undefined","Set","_commitHandler","_parent","makeObservable","focusedCell","observable","ref","editingCell","editingValue","editTrigger","selectedCells","selectionAnchor","isSelecting","isEditing","computed","selectedCellsList","focusCell","action","clearFocus","startEdit","commitEdit","cancelEdit","setEditingValue","selectRange","selectAll","moveFocus","moveToNextCell","moveToPreviousCell","startSweep","sweepTo","stopSweep","rowKey","columnId","clear","add","cellKey","trigger","_this$focusedCell","_this$focusedCell2","rk","cid","value","from","to","fromPos","_toIndices","toPos","keyedItems","editableColumns","minRow","Math","min","row","maxRow","max","minCol","col","maxCol","newKeys","r","c","key","id","_diffSelection","ki","length","_toPosition","direction","extend","pos","target","has","delete","isCellFocused","_this$focusedCell3","_this$focusedCell4","isCellEditing","_this$editingCell","_this$editingCell2","isCellSelected","result","parseCellKey","push","scrollFocusedCellIntoView","requestAnimationFrame","cellEl","focusedCellElement","scrollIntoView","block","inline","_adjustScrollForStickyElements","td","parentElement","cellLeft","getBoundingClientRect","left","maxPrevRight","child","Array","children","right","_cellEl$closest","scrollParent","closest","scrollLeft","headerEl","tableState","headerElement","scrollEl","collection","scrollableContent","cellRect","scrollRect","effectiveTop","bottom","top","scrollTop","getSelectionBorder","noBorder","isNeighborSelected","neighbor","exports"],"sources":["../../../../src/state/EditableTable/CellInteractionState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { Cell, CellBorder } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport { cellKey, parseCellKey, noBorder } from './utils';\nimport { EditTrigger } from '../../components/EditableTable/types';\n\ntype Direction = 'up' | 'down' | 'left' | 'right';\ntype CommitHandler = (editingValue: any, cell: Cell) => void;\n\nexport class CellInteractionState<T, F extends FiltersMap> {\n focusedCell: Cell | null = null;\n editingCell: Cell | null = null;\n editingValue: any = undefined;\n editTrigger: EditTrigger | null = null;\n selectedCells = new Set<string>();\n selectionAnchor: Cell | null = null;\n focusedCellElement: HTMLElement | null | undefined = null;\n /** True while the user is performing a mouse sweep selection. */\n isSelecting = false;\n private readonly _parent: EditableTableState<T, F>;\n private readonly _commitHandler: CommitHandler;\n\n constructor(commitHandler: CommitHandler, parent: EditableTableState<T, F>) {\n this._commitHandler = commitHandler;\n this._parent = parent;\n makeObservable(this, {\n focusedCell: observable.ref,\n editingCell: observable.ref,\n editingValue: observable.ref,\n editTrigger: observable.ref,\n selectedCells: observable,\n selectionAnchor: observable.ref,\n isSelecting: observable.ref,\n isEditing: computed,\n selectedCellsList: computed,\n focusCell: action,\n clearFocus: action,\n startEdit: action,\n commitEdit: action,\n cancelEdit: action,\n setEditingValue: action,\n selectRange: action,\n selectAll: action,\n moveFocus: action,\n moveToNextCell: action,\n moveToPreviousCell: action,\n startSweep: action,\n sweepTo: action,\n stopSweep: action,\n });\n }\n\n get isEditing(): boolean {\n return this.editingCell !== null;\n }\n\n focusCell(rowKey: string, columnId: string) {\n if (this.editingCell) {\n this.commitEdit();\n }\n this.focusedCell = { rowKey, columnId };\n this.selectedCells.clear();\n this.selectedCells.add(cellKey(rowKey, columnId));\n this.selectionAnchor = { rowKey, columnId };\n }\n\n clearFocus() {\n this.focusedCell = null;\n this.selectedCells.clear();\n this.selectionAnchor = null;\n this.cancelEdit();\n }\n\n startEdit(\n rowKey?: string,\n columnId?: string,\n trigger: EditTrigger = 'enter',\n ) {\n const rk = rowKey ?? this.focusedCell?.rowKey;\n const cid = columnId ?? this.focusedCell?.columnId;\n if (rk != null && cid != null) {\n this.editingValue = undefined;\n this.editTrigger = trigger;\n this.editingCell = { rowKey: rk, columnId: cid };\n this.focusedCell = { rowKey: rk, columnId: cid };\n // Collapse any multi-cell range selection down to the editing cell.\n // Without this, range-selected cells remain visually selected alongside\n // the editing cell, producing an invalid \"two cells selected\" state.\n this.selectedCells.clear();\n this.selectedCells.add(cellKey(rk, cid));\n this.selectionAnchor = { rowKey: rk, columnId: cid };\n }\n }\n\n setEditingValue(value: any) {\n this.editingValue = value;\n }\n\n commitEdit() {\n try {\n if (this.editingCell) {\n this._commitHandler(this.editingValue, this.editingCell);\n }\n } finally {\n this.editingValue = undefined;\n this.editTrigger = null;\n this.editingCell = null;\n }\n }\n\n cancelEdit() {\n this.editingValue = undefined;\n this.editTrigger = null;\n this.editingCell = null;\n }\n\n selectRange(from: Cell, to: Cell) {\n const fromPos = this._parent._toIndices(from);\n const toPos = this._parent._toIndices(to);\n if (!fromPos || !toPos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n const minRow = Math.min(fromPos.row, toPos.row);\n const maxRow = Math.max(fromPos.row, toPos.row);\n const minCol = Math.min(fromPos.col, toPos.col);\n const maxCol = Math.max(fromPos.col, toPos.col);\n\n const newKeys = new Set<string>();\n for (let r = minRow; r <= maxRow; r++) {\n for (let c = minCol; c <= maxCol; c++) {\n newKeys.add(cellKey(keyedItems[r].key, editableColumns[c].id));\n }\n }\n\n this._diffSelection(newKeys);\n this.focusedCell = to;\n }\n\n selectAll() {\n const { keyedItems, editableColumns } = this._parent;\n const newKeys = new Set<string>();\n for (const ki of keyedItems) {\n for (const col of editableColumns) {\n newKeys.add(cellKey(ki.key, col.id));\n }\n }\n\n this._diffSelection(newKeys);\n\n if (keyedItems.length > 0 && editableColumns.length > 0) {\n this.selectionAnchor = this._parent._toPosition(0, 0)!;\n this.focusedCell = this._parent._toPosition(\n keyedItems.length - 1,\n editableColumns.length - 1,\n )!;\n }\n }\n\n moveFocus(direction: Direction, extend = false) {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n switch (direction) {\n case 'up':\n row = Math.max(0, row - 1);\n break;\n case 'down':\n row = Math.min(keyedItems.length - 1, row + 1);\n break;\n case 'left':\n col = Math.max(0, col - 1);\n break;\n case 'right':\n col = Math.min(editableColumns.length - 1, col + 1);\n break;\n }\n\n const target = this._parent._toPosition(row, col)!;\n if (extend && this.selectionAnchor) {\n this.selectRange(this.selectionAnchor, target);\n } else {\n this.focusCell(target.rowKey, target.columnId);\n }\n }\n\n moveToNextCell() {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n col++;\n if (col >= editableColumns.length) {\n col = 0;\n row++;\n if (row >= keyedItems.length) {\n row = keyedItems.length - 1;\n col = editableColumns.length - 1;\n }\n }\n this.focusCell(keyedItems[row].key, editableColumns[col].id);\n }\n\n moveToPreviousCell() {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n col--;\n if (col < 0) {\n col = editableColumns.length - 1;\n row--;\n if (row < 0) {\n row = 0;\n col = 0;\n }\n }\n this.focusCell(keyedItems[row].key, editableColumns[col].id);\n }\n\n startSweep(rowKey: string, columnId: string) {\n this.isSelecting = true;\n this.focusCell(rowKey, columnId);\n }\n\n sweepTo(rowKey: string, columnId: string) {\n if (!this.isSelecting || !this.selectionAnchor) {\n return;\n }\n this.selectRange(this.selectionAnchor, { rowKey, columnId });\n }\n\n stopSweep() {\n this.isSelecting = false;\n }\n\n private _diffSelection(newKeys: Set<string>) {\n for (const key of this.selectedCells) {\n if (!newKeys.has(key)) {\n this.selectedCells.delete(key);\n }\n }\n for (const key of newKeys) {\n if (!this.selectedCells.has(key)) {\n this.selectedCells.add(key);\n }\n }\n }\n\n isCellFocused(rowKey: string, columnId: string): boolean {\n return (\n this.focusedCell?.rowKey === rowKey &&\n this.focusedCell?.columnId === columnId\n );\n }\n\n isCellEditing(rowKey: string, columnId: string): boolean {\n return (\n this.editingCell?.rowKey === rowKey &&\n this.editingCell?.columnId === columnId\n );\n }\n\n isCellSelected(rowKey: string, columnId: string): boolean {\n return this.selectedCells.has(cellKey(rowKey, columnId));\n }\n\n get selectedCellsList(): Cell[] {\n const result: Cell[] = [];\n for (const key of this.selectedCells) {\n const pos = parseCellKey(key);\n if (pos) {\n result.push(pos);\n }\n }\n return result;\n }\n\n scrollFocusedCellIntoView() {\n if (typeof requestAnimationFrame === 'undefined') {\n return;\n }\n requestAnimationFrame(() => {\n const cellEl = this.focusedCellElement;\n if (!cellEl) {\n return;\n }\n\n cellEl.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n this._adjustScrollForStickyElements(cellEl);\n });\n }\n\n /**\n * After scrollIntoView, the cell may be hidden behind sticky columns\n * or the sticky header. If so, scroll a bit more to fully reveal it.\n */\n private _adjustScrollForStickyElements(cellEl: HTMLElement) {\n const td = cellEl.parentElement;\n if (!td) {\n return;\n }\n\n // Horizontal: check if cell is behind a sticky column.\n // Sticky columns stay in place while other columns scroll, so their\n // bounding rect's right edge can overlap the focused cell's left edge.\n const row = td.parentElement;\n const cellLeft = td.getBoundingClientRect().left;\n if (row) {\n let maxPrevRight = 0;\n for (const child of Array.from(row.children)) {\n if (child === td) {\n break;\n }\n const right = child.getBoundingClientRect().right;\n if (right > maxPrevRight) {\n maxPrevRight = right;\n }\n }\n if (cellLeft < maxPrevRight) {\n const scrollParent = cellEl.closest('table')?.parentElement;\n if (scrollParent) {\n scrollParent.scrollLeft -= maxPrevRight - cellLeft;\n }\n }\n }\n\n // Vertical: same pattern — check if cell is behind the sticky header\n // or below the visible area of the page-level scroll container.\n const headerEl = this._parent.tableState.headerElement;\n const scrollEl = this._parent.collection.scrollableContent;\n if (scrollEl) {\n const cellRect = td.getBoundingClientRect();\n const scrollRect = scrollEl.getBoundingClientRect();\n const effectiveTop = headerEl\n ? headerEl.getBoundingClientRect().bottom\n : scrollRect.top;\n\n if (cellRect.top < effectiveTop) {\n scrollEl.scrollTop -= effectiveTop - cellRect.top + 2;\n } else if (cellRect.bottom > scrollRect.bottom) {\n scrollEl.scrollTop += cellRect.bottom - scrollRect.bottom + 2;\n }\n }\n }\n\n getSelectionBorder(rowKey: string, columnId: string): CellBorder {\n if (!this.isCellSelected(rowKey, columnId)) {\n return noBorder;\n }\n\n const pos = this._parent._toIndices({ rowKey, columnId });\n if (!pos) {\n return noBorder;\n }\n\n const isNeighborSelected = (row: number, col: number) => {\n const neighbor = this._parent._toPosition(row, col);\n return (\n neighbor !== null &&\n this.selectedCells.has(cellKey(neighbor.rowKey, neighbor.columnId))\n );\n };\n\n return {\n top: !isNeighborSelected(pos.row - 1, pos.col),\n bottom: !isNeighborSelected(pos.row + 1, pos.col),\n left: !isNeighborSelected(pos.row, pos.col - 1),\n right: !isNeighborSelected(pos.row, pos.col + 1),\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAMO,MAAME,oBAAoB,CAA0B;EAazDC,WAAWA,CAACC,aAA4B,EAAEC,MAAgC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,uBAZjD,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBACJ,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACXC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA,uBACK,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yBACtB,IAAIE,GAAG,CAAS,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,2BACF,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACkB,IAAI;IACzD;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBACc,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAKjB,IAAI,CAACG,cAAc,GAAGN,aAAa;IACnC,IAAI,CAACO,OAAO,GAAGN,MAAM;IACrB,IAAAO,oBAAc,EAAC,IAAI,EAAE;MACnBC,WAAW,EAAEC,gBAAU,CAACC,GAAG;MAC3BC,WAAW,EAAEF,gBAAU,CAACC,GAAG;MAC3BE,YAAY,EAAEH,gBAAU,CAACC,GAAG;MAC5BG,WAAW,EAAEJ,gBAAU,CAACC,GAAG;MAC3BI,aAAa,EAAEL,gBAAU;MACzBM,eAAe,EAAEN,gBAAU,CAACC,GAAG;MAC/BM,WAAW,EAAEP,gBAAU,CAACC,GAAG;MAC3BO,SAAS,EAAEC,cAAQ;MACnBC,iBAAiB,EAAED,cAAQ;MAC3BE,SAAS,EAAEC,YAAM;MACjBC,UAAU,EAAED,YAAM;MAClBE,SAAS,EAAEF,YAAM;MACjBG,UAAU,EAAEH,YAAM;MAClBI,UAAU,EAAEJ,YAAM;MAClBK,eAAe,EAAEL,YAAM;MACvBM,WAAW,EAAEN,YAAM;MACnBO,SAAS,EAAEP,YAAM;MACjBQ,SAAS,EAAER,YAAM;MACjBS,cAAc,EAAET,YAAM;MACtBU,kBAAkB,EAAEV,YAAM;MAC1BW,UAAU,EAAEX,YAAM;MAClBY,OAAO,EAAEZ,YAAM;MACfa,SAAS,EAAEb;IACb,CAAC,CAAC;EACJ;EAEA,IAAIJ,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACN,WAAW,KAAK,IAAI;EAClC;EAEAS,SAASA,CAACe,MAAc,EAAEC,QAAgB,EAAE;IAC1C,IAAI,IAAI,CAACzB,WAAW,EAAE;MACpB,IAAI,CAACa,UAAU,CAAC,CAAC;IACnB;IACA,IAAI,CAAChB,WAAW,GAAG;MAAE2B,MAAM;MAAEC;IAAS,CAAC;IACvC,IAAI,CAACtB,aAAa,CAACuB,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACvB,aAAa,CAACwB,GAAG,CAAC,IAAAC,cAAO,EAACJ,MAAM,EAAEC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAACrB,eAAe,GAAG;MAAEoB,MAAM;MAAEC;IAAS,CAAC;EAC7C;EAEAd,UAAUA,CAAA,EAAG;IACX,IAAI,CAACd,WAAW,GAAG,IAAI;IACvB,IAAI,CAACM,aAAa,CAACuB,KAAK,CAAC,CAAC;IAC1B,IAAI,CAACtB,eAAe,GAAG,IAAI;IAC3B,IAAI,CAACU,UAAU,CAAC,CAAC;EACnB;EAEAF,SAASA,CACPY,MAAe,EACfC,QAAiB,EACjBI,OAAoB,GAAG,OAAO,EAC9B;IAAA,IAAAC,iBAAA,EAAAC,kBAAA;IACA,MAAMC,EAAE,GAAGR,MAAM,MAAAM,iBAAA,GAAI,IAAI,CAACjC,WAAW,qBAAhBiC,iBAAA,CAAkBN,MAAM;IAC7C,MAAMS,GAAG,GAAGR,QAAQ,MAAAM,kBAAA,GAAI,IAAI,CAAClC,WAAW,qBAAhBkC,kBAAA,CAAkBN,QAAQ;IAClD,IAAIO,EAAE,IAAI,IAAI,IAAIC,GAAG,IAAI,IAAI,EAAE;MAC7B,IAAI,CAAChC,YAAY,GAAGT,SAAS;MAC7B,IAAI,CAACU,WAAW,GAAG2B,OAAO;MAC1B,IAAI,CAAC7B,WAAW,GAAG;QAAEwB,MAAM,EAAEQ,EAAE;QAAEP,QAAQ,EAAEQ;MAAI,CAAC;MAChD,IAAI,CAACpC,WAAW,GAAG;QAAE2B,MAAM,EAAEQ,EAAE;QAAEP,QAAQ,EAAEQ;MAAI,CAAC;MAChD;MACA;MACA;MACA,IAAI,CAAC9B,aAAa,CAACuB,KAAK,CAAC,CAAC;MAC1B,IAAI,CAACvB,aAAa,CAACwB,GAAG,CAAC,IAAAC,cAAO,EAACI,EAAE,EAAEC,GAAG,CAAC,CAAC;MACxC,IAAI,CAAC7B,eAAe,GAAG;QAAEoB,MAAM,EAAEQ,EAAE;QAAEP,QAAQ,EAAEQ;MAAI,CAAC;IACtD;EACF;EAEAlB,eAAeA,CAACmB,KAAU,EAAE;IAC1B,IAAI,CAACjC,YAAY,GAAGiC,KAAK;EAC3B;EAEArB,UAAUA,CAAA,EAAG;IACX,IAAI;MACF,IAAI,IAAI,CAACb,WAAW,EAAE;QACpB,IAAI,CAACN,cAAc,CAAC,IAAI,CAACO,YAAY,EAAE,IAAI,CAACD,WAAW,CAAC;MAC1D;IACF,CAAC,SAAS;MACR,IAAI,CAACC,YAAY,GAAGT,SAAS;MAC7B,IAAI,CAACU,WAAW,GAAG,IAAI;MACvB,IAAI,CAACF,WAAW,GAAG,IAAI;IACzB;EACF;EAEAc,UAAUA,CAAA,EAAG;IACX,IAAI,CAACb,YAAY,GAAGT,SAAS;IAC7B,IAAI,CAACU,WAAW,GAAG,IAAI;IACvB,IAAI,CAACF,WAAW,GAAG,IAAI;EACzB;EAEAgB,WAAWA,CAACmB,IAAU,EAAEC,EAAQ,EAAE;IAChC,MAAMC,OAAO,GAAG,IAAI,CAAC1C,OAAO,CAAC2C,UAAU,CAACH,IAAI,CAAC;IAC7C,MAAMI,KAAK,GAAG,IAAI,CAAC5C,OAAO,CAAC2C,UAAU,CAACF,EAAE,CAAC;IACzC,IAAI,CAACC,OAAO,IAAI,CAACE,KAAK,EAAE;MACtB;IACF;IAEA,MAAM;MAAEC,UAAU;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAAC9C,OAAO;IACpD,MAAM+C,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACP,OAAO,CAACQ,GAAG,EAAEN,KAAK,CAACM,GAAG,CAAC;IAC/C,MAAMC,MAAM,GAAGH,IAAI,CAACI,GAAG,CAACV,OAAO,CAACQ,GAAG,EAAEN,KAAK,CAACM,GAAG,CAAC;IAC/C,MAAMG,MAAM,GAAGL,IAAI,CAACC,GAAG,CAACP,OAAO,CAACY,GAAG,EAAEV,KAAK,CAACU,GAAG,CAAC;IAC/C,MAAMC,MAAM,GAAGP,IAAI,CAACI,GAAG,CAACV,OAAO,CAACY,GAAG,EAAEV,KAAK,CAACU,GAAG,CAAC;IAE/C,MAAME,OAAO,GAAG,IAAI1D,GAAG,CAAS,CAAC;IACjC,KAAK,IAAI2D,CAAC,GAAGV,MAAM,EAAEU,CAAC,IAAIN,MAAM,EAAEM,CAAC,EAAE,EAAE;MACrC,KAAK,IAAIC,CAAC,GAAGL,MAAM,EAAEK,CAAC,IAAIH,MAAM,EAAEG,CAAC,EAAE,EAAE;QACrCF,OAAO,CAACxB,GAAG,CAAC,IAAAC,cAAO,EAACY,UAAU,CAACY,CAAC,CAAC,CAACE,GAAG,EAAEb,eAAe,CAACY,CAAC,CAAC,CAACE,EAAE,CAAC,CAAC;MAChE;IACF;IAEA,IAAI,CAACC,cAAc,CAACL,OAAO,CAAC;IAC5B,IAAI,CAACtD,WAAW,GAAGuC,EAAE;EACvB;EAEAnB,SAASA,CAAA,EAAG;IACV,MAAM;MAAEuB,UAAU;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAAC9C,OAAO;IACpD,MAAMwD,OAAO,GAAG,IAAI1D,GAAG,CAAS,CAAC;IACjC,KAAK,MAAMgE,EAAE,IAAIjB,UAAU,EAAE;MAC3B,KAAK,MAAMS,GAAG,IAAIR,eAAe,EAAE;QACjCU,OAAO,CAACxB,GAAG,CAAC,IAAAC,cAAO,EAAC6B,EAAE,CAACH,GAAG,EAAEL,GAAG,CAACM,EAAE,CAAC,CAAC;MACtC;IACF;IAEA,IAAI,CAACC,cAAc,CAACL,OAAO,CAAC;IAE5B,IAAIX,UAAU,CAACkB,MAAM,GAAG,CAAC,IAAIjB,eAAe,CAACiB,MAAM,GAAG,CAAC,EAAE;MACvD,IAAI,CAACtD,eAAe,GAAG,IAAI,CAACT,OAAO,CAACgE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAE;MACtD,IAAI,CAAC9D,WAAW,GAAG,IAAI,CAACF,OAAO,CAACgE,WAAW,CACzCnB,UAAU,CAACkB,MAAM,GAAG,CAAC,EACrBjB,eAAe,CAACiB,MAAM,GAAG,CAC3B,CAAE;IACJ;EACF;EAEAxC,SAASA,CAAC0C,SAAoB,EAAEC,MAAM,GAAG,KAAK,EAAE;IAC9C,MAAMC,GAAG,GAAG,IAAI,CAACjE,WAAW,IAAI,IAAI,CAACF,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAACzC,WAAW,CAAC;IACzE,IAAI,CAACiE,GAAG,EAAE;MACR;IACF;IAEA,MAAM;MAAEtB,UAAU;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAAC9C,OAAO;IACpD,IAAI;MAAEkD,GAAG;MAAEI;IAAI,CAAC,GAAGa,GAAG;IAEtB,QAAQF,SAAS;MACf,KAAK,IAAI;QACPf,GAAG,GAAGF,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEF,GAAG,GAAG,CAAC,CAAC;QAC1B;MACF,KAAK,MAAM;QACTA,GAAG,GAAGF,IAAI,CAACC,GAAG,CAACJ,UAAU,CAACkB,MAAM,GAAG,CAAC,EAAEb,GAAG,GAAG,CAAC,CAAC;QAC9C;MACF,KAAK,MAAM;QACTI,GAAG,GAAGN,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEE,GAAG,GAAG,CAAC,CAAC;QAC1B;MACF,KAAK,OAAO;QACVA,GAAG,GAAGN,IAAI,CAACC,GAAG,CAACH,eAAe,CAACiB,MAAM,GAAG,CAAC,EAAET,GAAG,GAAG,CAAC,CAAC;QACnD;IACJ;IAEA,MAAMc,MAAM,GAAG,IAAI,CAACpE,OAAO,CAACgE,WAAW,CAACd,GAAG,EAAEI,GAAG,CAAE;IAClD,IAAIY,MAAM,IAAI,IAAI,CAACzD,eAAe,EAAE;MAClC,IAAI,CAACY,WAAW,CAAC,IAAI,CAACZ,eAAe,EAAE2D,MAAM,CAAC;IAChD,CAAC,MAAM;MACL,IAAI,CAACtD,SAAS,CAACsD,MAAM,CAACvC,MAAM,EAAEuC,MAAM,CAACtC,QAAQ,CAAC;IAChD;EACF;EAEAN,cAAcA,CAAA,EAAG;IACf,MAAM2C,GAAG,GAAG,IAAI,CAACjE,WAAW,IAAI,IAAI,CAACF,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAACzC,WAAW,CAAC;IACzE,IAAI,CAACiE,GAAG,EAAE;MACR;IACF;IAEA,MAAM;MAAEtB,UAAU;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAAC9C,OAAO;IACpD,IAAI;MAAEkD,GAAG;MAAEI;IAAI,CAAC,GAAGa,GAAG;IAEtBb,GAAG,EAAE;IACL,IAAIA,GAAG,IAAIR,eAAe,CAACiB,MAAM,EAAE;MACjCT,GAAG,GAAG,CAAC;MACPJ,GAAG,EAAE;MACL,IAAIA,GAAG,IAAIL,UAAU,CAACkB,MAAM,EAAE;QAC5Bb,GAAG,GAAGL,UAAU,CAACkB,MAAM,GAAG,CAAC;QAC3BT,GAAG,GAAGR,eAAe,CAACiB,MAAM,GAAG,CAAC;MAClC;IACF;IACA,IAAI,CAACjD,SAAS,CAAC+B,UAAU,CAACK,GAAG,CAAC,CAACS,GAAG,EAAEb,eAAe,CAACQ,GAAG,CAAC,CAACM,EAAE,CAAC;EAC9D;EAEAnC,kBAAkBA,CAAA,EAAG;IACnB,MAAM0C,GAAG,GAAG,IAAI,CAACjE,WAAW,IAAI,IAAI,CAACF,OAAO,CAAC2C,UAAU,CAAC,IAAI,CAACzC,WAAW,CAAC;IACzE,IAAI,CAACiE,GAAG,EAAE;MACR;IACF;IAEA,MAAM;MAAEtB,UAAU;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAAC9C,OAAO;IACpD,IAAI;MAAEkD,GAAG;MAAEI;IAAI,CAAC,GAAGa,GAAG;IAEtBb,GAAG,EAAE;IACL,IAAIA,GAAG,GAAG,CAAC,EAAE;MACXA,GAAG,GAAGR,eAAe,CAACiB,MAAM,GAAG,CAAC;MAChCb,GAAG,EAAE;MACL,IAAIA,GAAG,GAAG,CAAC,EAAE;QACXA,GAAG,GAAG,CAAC;QACPI,GAAG,GAAG,CAAC;MACT;IACF;IACA,IAAI,CAACxC,SAAS,CAAC+B,UAAU,CAACK,GAAG,CAAC,CAACS,GAAG,EAAEb,eAAe,CAACQ,GAAG,CAAC,CAACM,EAAE,CAAC;EAC9D;EAEAlC,UAAUA,CAACG,MAAc,EAAEC,QAAgB,EAAE;IAC3C,IAAI,CAACpB,WAAW,GAAG,IAAI;IACvB,IAAI,CAACI,SAAS,CAACe,MAAM,EAAEC,QAAQ,CAAC;EAClC;EAEAH,OAAOA,CAACE,MAAc,EAAEC,QAAgB,EAAE;IACxC,IAAI,CAAC,IAAI,CAACpB,WAAW,IAAI,CAAC,IAAI,CAACD,eAAe,EAAE;MAC9C;IACF;IACA,IAAI,CAACY,WAAW,CAAC,IAAI,CAACZ,eAAe,EAAE;MAAEoB,MAAM;MAAEC;IAAS,CAAC,CAAC;EAC9D;EAEAF,SAASA,CAAA,EAAG;IACV,IAAI,CAAClB,WAAW,GAAG,KAAK;EAC1B;EAEQmD,cAAcA,CAACL,OAAoB,EAAE;IAC3C,KAAK,MAAMG,GAAG,IAAI,IAAI,CAACnD,aAAa,EAAE;MACpC,IAAI,CAACgD,OAAO,CAACa,GAAG,CAACV,GAAG,CAAC,EAAE;QACrB,IAAI,CAACnD,aAAa,CAAC8D,MAAM,CAACX,GAAG,CAAC;MAChC;IACF;IACA,KAAK,MAAMA,GAAG,IAAIH,OAAO,EAAE;MACzB,IAAI,CAAC,IAAI,CAAChD,aAAa,CAAC6D,GAAG,CAACV,GAAG,CAAC,EAAE;QAChC,IAAI,CAACnD,aAAa,CAACwB,GAAG,CAAC2B,GAAG,CAAC;MAC7B;IACF;EACF;EAEAY,aAAaA,CAAC1C,MAAc,EAAEC,QAAgB,EAAW;IAAA,IAAA0C,kBAAA,EAAAC,kBAAA;IACvD,OACE,EAAAD,kBAAA,OAAI,CAACtE,WAAW,qBAAhBsE,kBAAA,CAAkB3C,MAAM,MAAKA,MAAM,IACnC,EAAA4C,kBAAA,OAAI,CAACvE,WAAW,qBAAhBuE,kBAAA,CAAkB3C,QAAQ,MAAKA,QAAQ;EAE3C;EAEA4C,aAAaA,CAAC7C,MAAc,EAAEC,QAAgB,EAAW;IAAA,IAAA6C,iBAAA,EAAAC,kBAAA;IACvD,OACE,EAAAD,iBAAA,OAAI,CAACtE,WAAW,qBAAhBsE,iBAAA,CAAkB9C,MAAM,MAAKA,MAAM,IACnC,EAAA+C,kBAAA,OAAI,CAACvE,WAAW,qBAAhBuE,kBAAA,CAAkB9C,QAAQ,MAAKA,QAAQ;EAE3C;EAEA+C,cAAcA,CAAChD,MAAc,EAAEC,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACtB,aAAa,CAAC6D,GAAG,CAAC,IAAApC,cAAO,EAACJ,MAAM,EAAEC,QAAQ,CAAC,CAAC;EAC1D;EAEA,IAAIjB,iBAAiBA,CAAA,EAAW;IAC9B,MAAMiE,MAAc,GAAG,EAAE;IACzB,KAAK,MAAMnB,GAAG,IAAI,IAAI,CAACnD,aAAa,EAAE;MACpC,MAAM2D,GAAG,GAAG,IAAAY,mBAAY,EAACpB,GAAG,CAAC;MAC7B,IAAIQ,GAAG,EAAE;QACPW,MAAM,CAACE,IAAI,CAACb,GAAG,CAAC;MAClB;IACF;IACA,OAAOW,MAAM;EACf;EAEAG,yBAAyBA,CAAA,EAAG;IAC1B,IAAI,OAAOC,qBAAqB,KAAK,WAAW,EAAE;MAChD;IACF;IACAA,qBAAqB,CAAC,MAAM;MAC1B,MAAMC,MAAM,GAAG,IAAI,CAACC,kBAAkB;MACtC,IAAI,CAACD,MAAM,EAAE;QACX;MACF;MAEAA,MAAM,CAACE,cAAc,CAAC;QAAEC,KAAK,EAAE,SAAS;QAAEC,MAAM,EAAE;MAAU,CAAC,CAAC;MAC9D,IAAI,CAACC,8BAA8B,CAACL,MAAM,CAAC;IAC7C,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;EACUK,8BAA8BA,CAACL,MAAmB,EAAE;IAC1D,MAAMM,EAAE,GAAGN,MAAM,CAACO,aAAa;IAC/B,IAAI,CAACD,EAAE,EAAE;MACP;IACF;;IAEA;IACA;IACA;IACA,MAAMvC,GAAG,GAAGuC,EAAE,CAACC,aAAa;IAC5B,MAAMC,QAAQ,GAAGF,EAAE,CAACG,qBAAqB,CAAC,CAAC,CAACC,IAAI;IAChD,IAAI3C,GAAG,EAAE;MACP,IAAI4C,YAAY,GAAG,CAAC;MACpB,KAAK,MAAMC,KAAK,IAAIC,KAAK,CAACxD,IAAI,CAACU,GAAG,CAAC+C,QAAQ,CAAC,EAAE;QAC5C,IAAIF,KAAK,KAAKN,EAAE,EAAE;UAChB;QACF;QACA,MAAMS,KAAK,GAAGH,KAAK,CAACH,qBAAqB,CAAC,CAAC,CAACM,KAAK;QACjD,IAAIA,KAAK,GAAGJ,YAAY,EAAE;UACxBA,YAAY,GAAGI,KAAK;QACtB;MACF;MACA,IAAIP,QAAQ,GAAGG,YAAY,EAAE;QAAA,IAAAK,eAAA;QAC3B,MAAMC,YAAY,IAAAD,eAAA,GAAGhB,MAAM,CAACkB,OAAO,CAAC,OAAO,CAAC,qBAAvBF,eAAA,CAAyBT,aAAa;QAC3D,IAAIU,YAAY,EAAE;UAChBA,YAAY,CAACE,UAAU,IAAIR,YAAY,GAAGH,QAAQ;QACpD;MACF;IACF;;IAEA;IACA;IACA,MAAMY,QAAQ,GAAG,IAAI,CAACvG,OAAO,CAACwG,UAAU,CAACC,aAAa;IACtD,MAAMC,QAAQ,GAAG,IAAI,CAAC1G,OAAO,CAAC2G,UAAU,CAACC,iBAAiB;IAC1D,IAAIF,QAAQ,EAAE;MACZ,MAAMG,QAAQ,GAAGpB,EAAE,CAACG,qBAAqB,CAAC,CAAC;MAC3C,MAAMkB,UAAU,GAAGJ,QAAQ,CAACd,qBAAqB,CAAC,CAAC;MACnD,MAAMmB,YAAY,GAAGR,QAAQ,GACzBA,QAAQ,CAACX,qBAAqB,CAAC,CAAC,CAACoB,MAAM,GACvCF,UAAU,CAACG,GAAG;MAElB,IAAIJ,QAAQ,CAACI,GAAG,GAAGF,YAAY,EAAE;QAC/BL,QAAQ,CAACQ,SAAS,IAAIH,YAAY,GAAGF,QAAQ,CAACI,GAAG,GAAG,CAAC;MACvD,CAAC,MAAM,IAAIJ,QAAQ,CAACG,MAAM,GAAGF,UAAU,CAACE,MAAM,EAAE;QAC9CN,QAAQ,CAACQ,SAAS,IAAIL,QAAQ,CAACG,MAAM,GAAGF,UAAU,CAACE,MAAM,GAAG,CAAC;MAC/D;IACF;EACF;EAEAG,kBAAkBA,CAACtF,MAAc,EAAEC,QAAgB,EAAc;IAC/D,IAAI,CAAC,IAAI,CAAC+C,cAAc,CAAChD,MAAM,EAAEC,QAAQ,CAAC,EAAE;MAC1C,OAAOsF,eAAQ;IACjB;IAEA,MAAMjD,GAAG,GAAG,IAAI,CAACnE,OAAO,CAAC2C,UAAU,CAAC;MAAEd,MAAM;MAAEC;IAAS,CAAC,CAAC;IACzD,IAAI,CAACqC,GAAG,EAAE;MACR,OAAOiD,eAAQ;IACjB;IAEA,MAAMC,kBAAkB,GAAGA,CAACnE,GAAW,EAAEI,GAAW,KAAK;MACvD,MAAMgE,QAAQ,GAAG,IAAI,CAACtH,OAAO,CAACgE,WAAW,CAACd,GAAG,EAAEI,GAAG,CAAC;MACnD,OACEgE,QAAQ,KAAK,IAAI,IACjB,IAAI,CAAC9G,aAAa,CAAC6D,GAAG,CAAC,IAAApC,cAAO,EAACqF,QAAQ,CAACzF,MAAM,EAAEyF,QAAQ,CAACxF,QAAQ,CAAC,CAAC;IAEvE,CAAC;IAED,OAAO;MACLmF,GAAG,EAAE,CAACI,kBAAkB,CAAClD,GAAG,CAACjB,GAAG,GAAG,CAAC,EAAEiB,GAAG,CAACb,GAAG,CAAC;MAC9C0D,MAAM,EAAE,CAACK,kBAAkB,CAAClD,GAAG,CAACjB,GAAG,GAAG,CAAC,EAAEiB,GAAG,CAACb,GAAG,CAAC;MACjDuC,IAAI,EAAE,CAACwB,kBAAkB,CAAClD,GAAG,CAACjB,GAAG,EAAEiB,GAAG,CAACb,GAAG,GAAG,CAAC,CAAC;MAC/C4C,KAAK,EAAE,CAACmB,kBAAkB,CAAClD,GAAG,CAACjB,GAAG,EAAEiB,GAAG,CAACb,GAAG,GAAG,CAAC;IACjD,CAAC;EACH;AACF;AAACiE,OAAA,CAAAhI,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_utils","CellInteractionState","constructor","commitHandler","parent","_defineProperty2","default","undefined","Set","_commitHandler","_parent","makeObservable","focusedCell","observable","ref","editingCell","editingValue","editTrigger","selectedCells","selectionAnchor","isSelecting","isEditing","computed","isRangeSelection","selectedCellsList","focusCell","action","clearFocus","replaceRowKey","startEdit","commitEdit","cancelEdit","setEditingValue","selectRange","selectAll","moveFocus","moveToNextCell","moveToPreviousCell","startSweep","sweepTo","stopSweep","size","rowKey","columnId","clear","add","cellKey","oldRowKey","newRowKey","replaceCell","cell","key","parseCellKey","_diffSelection","trigger","_this$focusedCell","_this$focusedCell2","rk","cid","value","from","to","fromPos","_toIndices","toPos","keyedItems","editableColumns","minRow","Math","min","row","maxRow","max","minCol","col","maxCol","newKeys","r","c","id","ki","length","_toPosition","direction","extend","pos","target","has","delete","isCellFocused","_this$focusedCell3","_this$focusedCell4","isCellEditing","_this$editingCell","_this$editingCell2","isCellSelected","isRowActive","_this$focusedCell5","result","push","scrollFocusedCellIntoView","requestAnimationFrame","cellEl","focusedCellElement","scrollIntoView","block","inline","_adjustScrollForStickyElements","td","parentElement","cellLeft","getBoundingClientRect","left","maxPrevRight","child","Array","children","right","_cellEl$closest","scrollParent","closest","scrollLeft","headerEl","tableState","headerElement","scrollEl","collection","scrollableContent","cellRect","scrollRect","effectiveTop","bottom","top","scrollTop","getSelectionBorder","noBorder","isNeighborSelected","neighbor","exports"],"sources":["../../../../src/state/EditableTable/CellInteractionState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { Cell, CellBorder } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport { cellKey, parseCellKey, noBorder } from './utils';\nimport { EditTrigger } from '../../components/EditableTable/types';\n\ntype Direction = 'up' | 'down' | 'left' | 'right';\ntype CommitHandler = (editingValue: any, cell: Cell) => void;\n\nexport class CellInteractionState<T, F extends FiltersMap> {\n focusedCell: Cell | null = null;\n editingCell: Cell | null = null;\n editingValue: any = undefined;\n editTrigger: EditTrigger | null = null;\n selectedCells = new Set<string>();\n selectionAnchor: Cell | null = null;\n focusedCellElement: HTMLElement | null | undefined = null;\n /** True while the user is performing a mouse sweep selection. */\n isSelecting = false;\n private readonly _parent: EditableTableState<T, F>;\n private readonly _commitHandler: CommitHandler;\n\n constructor(commitHandler: CommitHandler, parent: EditableTableState<T, F>) {\n this._commitHandler = commitHandler;\n this._parent = parent;\n makeObservable(this, {\n focusedCell: observable.ref,\n editingCell: observable.ref,\n editingValue: observable.ref,\n editTrigger: observable.ref,\n selectedCells: observable,\n selectionAnchor: observable.ref,\n isSelecting: observable.ref,\n isEditing: computed,\n isRangeSelection: computed,\n selectedCellsList: computed,\n focusCell: action,\n clearFocus: action,\n replaceRowKey: action,\n startEdit: action,\n commitEdit: action,\n cancelEdit: action,\n setEditingValue: action,\n selectRange: action,\n selectAll: action,\n moveFocus: action,\n moveToNextCell: action,\n moveToPreviousCell: action,\n startSweep: action,\n sweepTo: action,\n stopSweep: action,\n });\n }\n\n get isEditing(): boolean {\n return this.editingCell !== null;\n }\n\n /** Focusing a cell also selects it, so a single selected cell is just focus.\n * Only a range of two or more gets the selection styling. */\n get isRangeSelection(): boolean {\n return this.selectedCells.size > 1;\n }\n\n focusCell(rowKey: string, columnId: string) {\n if (this.editingCell) {\n this.commitEdit();\n }\n this.focusedCell = { rowKey, columnId };\n this.selectedCells.clear();\n this.selectedCells.add(cellKey(rowKey, columnId));\n this.selectionAnchor = { rowKey, columnId };\n }\n\n clearFocus() {\n this.focusedCell = null;\n this.selectedCells.clear();\n this.selectionAnchor = null;\n this.cancelEdit();\n }\n\n replaceRowKey(oldRowKey: string, newRowKey: string) {\n if (oldRowKey === newRowKey) {\n return;\n }\n\n const replaceCell = (cell: Cell | null): Cell | null =>\n cell?.rowKey === oldRowKey ? { ...cell, rowKey: newRowKey } : cell;\n\n this.focusedCell = replaceCell(this.focusedCell);\n this.editingCell = replaceCell(this.editingCell);\n this.selectionAnchor = replaceCell(this.selectionAnchor);\n\n const selectedCells = new Set<string>();\n for (const key of this.selectedCells) {\n const cell = parseCellKey(key);\n selectedCells.add(\n cell?.rowKey === oldRowKey ? cellKey(newRowKey, cell.columnId) : key,\n );\n }\n this._diffSelection(selectedCells);\n }\n\n startEdit(\n rowKey?: string,\n columnId?: string,\n trigger: EditTrigger = 'enter',\n ) {\n const rk = rowKey ?? this.focusedCell?.rowKey;\n const cid = columnId ?? this.focusedCell?.columnId;\n if (rk != null && cid != null) {\n this.editingValue = undefined;\n this.editTrigger = trigger;\n this.editingCell = { rowKey: rk, columnId: cid };\n this.focusedCell = { rowKey: rk, columnId: cid };\n // Collapse any multi-cell range selection down to the editing cell.\n // Without this, range-selected cells remain visually selected alongside\n // the editing cell, producing an invalid \"two cells selected\" state.\n this.selectedCells.clear();\n this.selectedCells.add(cellKey(rk, cid));\n this.selectionAnchor = { rowKey: rk, columnId: cid };\n }\n }\n\n setEditingValue(value: any) {\n this.editingValue = value;\n }\n\n commitEdit() {\n try {\n if (this.editingCell) {\n this._commitHandler(this.editingValue, this.editingCell);\n }\n } finally {\n this.editingValue = undefined;\n this.editTrigger = null;\n this.editingCell = null;\n }\n }\n\n cancelEdit() {\n this.editingValue = undefined;\n this.editTrigger = null;\n this.editingCell = null;\n }\n\n selectRange(from: Cell, to: Cell) {\n const fromPos = this._parent._toIndices(from);\n const toPos = this._parent._toIndices(to);\n if (!fromPos || !toPos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n const minRow = Math.min(fromPos.row, toPos.row);\n const maxRow = Math.max(fromPos.row, toPos.row);\n const minCol = Math.min(fromPos.col, toPos.col);\n const maxCol = Math.max(fromPos.col, toPos.col);\n\n const newKeys = new Set<string>();\n for (let r = minRow; r <= maxRow; r++) {\n for (let c = minCol; c <= maxCol; c++) {\n newKeys.add(cellKey(keyedItems[r].key, editableColumns[c].id));\n }\n }\n\n this._diffSelection(newKeys);\n this.focusedCell = to;\n }\n\n selectAll() {\n const { keyedItems, editableColumns } = this._parent;\n const newKeys = new Set<string>();\n for (const ki of keyedItems) {\n for (const col of editableColumns) {\n newKeys.add(cellKey(ki.key, col.id));\n }\n }\n\n this._diffSelection(newKeys);\n\n if (keyedItems.length > 0 && editableColumns.length > 0) {\n this.selectionAnchor = this._parent._toPosition(0, 0)!;\n this.focusedCell = this._parent._toPosition(\n keyedItems.length - 1,\n editableColumns.length - 1,\n )!;\n }\n }\n\n moveFocus(direction: Direction, extend = false) {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n switch (direction) {\n case 'up':\n row = Math.max(0, row - 1);\n break;\n case 'down':\n row = Math.min(keyedItems.length - 1, row + 1);\n break;\n case 'left':\n col = Math.max(0, col - 1);\n break;\n case 'right':\n col = Math.min(editableColumns.length - 1, col + 1);\n break;\n }\n\n const target = this._parent._toPosition(row, col)!;\n if (extend && this.selectionAnchor) {\n this.selectRange(this.selectionAnchor, target);\n } else {\n this.focusCell(target.rowKey, target.columnId);\n }\n }\n\n moveToNextCell() {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n col++;\n if (col >= editableColumns.length) {\n col = 0;\n row++;\n if (row >= keyedItems.length) {\n row = keyedItems.length - 1;\n col = editableColumns.length - 1;\n }\n }\n this.focusCell(keyedItems[row].key, editableColumns[col].id);\n }\n\n moveToPreviousCell() {\n const pos = this.focusedCell && this._parent._toIndices(this.focusedCell);\n if (!pos) {\n return;\n }\n\n const { keyedItems, editableColumns } = this._parent;\n let { row, col } = pos;\n\n col--;\n if (col < 0) {\n col = editableColumns.length - 1;\n row--;\n if (row < 0) {\n row = 0;\n col = 0;\n }\n }\n this.focusCell(keyedItems[row].key, editableColumns[col].id);\n }\n\n startSweep(rowKey: string, columnId: string) {\n this.isSelecting = true;\n this.focusCell(rowKey, columnId);\n }\n\n sweepTo(rowKey: string, columnId: string) {\n if (!this.isSelecting || !this.selectionAnchor) {\n return;\n }\n this.selectRange(this.selectionAnchor, { rowKey, columnId });\n }\n\n stopSweep() {\n this.isSelecting = false;\n }\n\n private _diffSelection(newKeys: Set<string>) {\n for (const key of this.selectedCells) {\n if (!newKeys.has(key)) {\n this.selectedCells.delete(key);\n }\n }\n for (const key of newKeys) {\n if (!this.selectedCells.has(key)) {\n this.selectedCells.add(key);\n }\n }\n }\n\n isCellFocused(rowKey: string, columnId: string): boolean {\n return (\n this.focusedCell?.rowKey === rowKey &&\n this.focusedCell?.columnId === columnId\n );\n }\n\n isCellEditing(rowKey: string, columnId: string): boolean {\n return (\n this.editingCell?.rowKey === rowKey &&\n this.editingCell?.columnId === columnId\n );\n }\n\n isCellSelected(rowKey: string, columnId: string): boolean {\n return this.selectedCells.has(cellKey(rowKey, columnId));\n }\n\n isRowActive(rowKey: string): boolean {\n return this.focusedCell?.rowKey === rowKey;\n }\n\n get selectedCellsList(): Cell[] {\n const result: Cell[] = [];\n for (const key of this.selectedCells) {\n const pos = parseCellKey(key);\n if (pos) {\n result.push(pos);\n }\n }\n return result;\n }\n\n scrollFocusedCellIntoView() {\n if (typeof requestAnimationFrame === 'undefined') {\n return;\n }\n requestAnimationFrame(() => {\n const cellEl = this.focusedCellElement;\n if (!cellEl) {\n return;\n }\n\n cellEl.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n this._adjustScrollForStickyElements(cellEl);\n });\n }\n\n /**\n * After scrollIntoView, the cell may be hidden behind sticky columns\n * or the sticky header. If so, scroll a bit more to fully reveal it.\n */\n private _adjustScrollForStickyElements(cellEl: HTMLElement) {\n const td = cellEl.parentElement;\n if (!td) {\n return;\n }\n\n // Horizontal: check if cell is behind a sticky column.\n // Sticky columns stay in place while other columns scroll, so their\n // bounding rect's right edge can overlap the focused cell's left edge.\n const row = td.parentElement;\n const cellLeft = td.getBoundingClientRect().left;\n if (row) {\n let maxPrevRight = 0;\n for (const child of Array.from(row.children)) {\n if (child === td) {\n break;\n }\n const right = child.getBoundingClientRect().right;\n if (right > maxPrevRight) {\n maxPrevRight = right;\n }\n }\n if (cellLeft < maxPrevRight) {\n const scrollParent = cellEl.closest('table')?.parentElement;\n if (scrollParent) {\n scrollParent.scrollLeft -= maxPrevRight - cellLeft;\n }\n }\n }\n\n // Vertical: same pattern — check if cell is behind the sticky header\n // or below the visible area of the page-level scroll container.\n const headerEl = this._parent.tableState.headerElement;\n const scrollEl = this._parent.collection.scrollableContent;\n if (scrollEl) {\n const cellRect = td.getBoundingClientRect();\n const scrollRect = scrollEl.getBoundingClientRect();\n const effectiveTop = headerEl\n ? headerEl.getBoundingClientRect().bottom\n : scrollRect.top;\n\n if (cellRect.top < effectiveTop) {\n scrollEl.scrollTop -= effectiveTop - cellRect.top + 2;\n } else if (cellRect.bottom > scrollRect.bottom) {\n scrollEl.scrollTop += cellRect.bottom - scrollRect.bottom + 2;\n }\n }\n }\n\n getSelectionBorder(rowKey: string, columnId: string): CellBorder {\n if (!this.isCellSelected(rowKey, columnId)) {\n return noBorder;\n }\n\n const pos = this._parent._toIndices({ rowKey, columnId });\n if (!pos) {\n return noBorder;\n }\n\n const isNeighborSelected = (row: number, col: number) => {\n const neighbor = this._parent._toPosition(row, col);\n return (\n neighbor !== null &&\n this.selectedCells.has(cellKey(neighbor.rowKey, neighbor.columnId))\n );\n };\n\n return {\n top: !isNeighborSelected(pos.row - 1, pos.col),\n bottom: !isNeighborSelected(pos.row + 1, pos.col),\n left: !isNeighborSelected(pos.row, pos.col - 1),\n right: !isNeighborSelected(pos.row, pos.col + 1),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,10 @@ class EditableTableState {
|
|
|
26
26
|
(0, _defineProperty2.default)(this, "addItemDisabled", false);
|
|
27
27
|
(0, _defineProperty2.default)(this, "updateItemDisabled", false);
|
|
28
28
|
(0, _defineProperty2.default)(this, "removeItemDisabled", false);
|
|
29
|
+
(0, _defineProperty2.default)(this, "multiDeleteDisabled", false);
|
|
30
|
+
// Needs an explicit initializer: a declaration-only field is erased at
|
|
31
|
+
// compile time, and makeObservable throws on a property that doesn't exist.
|
|
32
|
+
(0, _defineProperty2.default)(this, "isRemoveItemDisabled", undefined);
|
|
29
33
|
(0, _defineProperty2.default)(this, "_providedColumns", []);
|
|
30
34
|
(0, _defineProperty2.default)(this, "onAddItemActionComplete", items => {
|
|
31
35
|
return this.tableState.onAddItemActionComplete(items);
|
|
@@ -65,6 +69,9 @@ class EditableTableState {
|
|
|
65
69
|
addItemDisabled: _mobx.observable,
|
|
66
70
|
updateItemDisabled: _mobx.observable,
|
|
67
71
|
removeItemDisabled: _mobx.observable,
|
|
72
|
+
multiDeleteDisabled: _mobx.observable,
|
|
73
|
+
isRemoveItemDisabled: _mobx.observable.ref,
|
|
74
|
+
setPermissions: _mobx.action,
|
|
68
75
|
_providedColumns: _mobx.observable.ref,
|
|
69
76
|
editableColumns: _mobx.computed,
|
|
70
77
|
sourceColumns: _mobx.computed,
|
|
@@ -73,11 +80,38 @@ class EditableTableState {
|
|
|
73
80
|
init: _mobx.action,
|
|
74
81
|
confirmDeleteItems: _mobx.action
|
|
75
82
|
});
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
this.setPermissions(params.permissions ?? {});
|
|
84
|
+
}
|
|
85
|
+
setPermissions(permissions) {
|
|
86
|
+
this.addItemDisabled = permissions.addItemDisabled ?? false;
|
|
87
|
+
this.updateItemDisabled = permissions.updateItemDisabled ?? false;
|
|
88
|
+
this.removeItemDisabled = permissions.removeItemDisabled ?? false;
|
|
89
|
+
this.multiDeleteDisabled = permissions.multiDeleteDisabled ?? this.removeItemDisabled;
|
|
90
|
+
this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;
|
|
91
|
+
}
|
|
92
|
+
isRowDeleteDisabled(rowKey) {
|
|
93
|
+
if (this.removeItemDisabled) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
if (!this.isRemoveItemDisabled) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
const keyed = this._getKeyedItem(rowKey);
|
|
100
|
+
return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;
|
|
101
|
+
}
|
|
102
|
+
rowDeleteDisabledReason(rowKey) {
|
|
103
|
+
if (!this.isRemoveItemDisabled) {
|
|
104
|
+
return undefined;
|
|
80
105
|
}
|
|
106
|
+
const keyed = this._getKeyedItem(rowKey);
|
|
107
|
+
const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;
|
|
108
|
+
return result != null && result.disabled ? result.reason : undefined;
|
|
109
|
+
}
|
|
110
|
+
isMultiDeleteDisabled(rowKeys) {
|
|
111
|
+
if (this.multiDeleteDisabled) {
|
|
112
|
+
return true;
|
|
113
|
+
}
|
|
114
|
+
return rowKeys.some(key => this.isRowDeleteDisabled(key));
|
|
81
115
|
}
|
|
82
116
|
get collection() {
|
|
83
117
|
return this.tableState.collection;
|
|
@@ -152,6 +186,12 @@ class EditableTableState {
|
|
|
152
186
|
this.mutation.deleteItems(rowKeys);
|
|
153
187
|
}
|
|
154
188
|
confirmDeleteItems(rowKeys) {
|
|
189
|
+
// The context menu disables blocked deletes; this filter is the barrier
|
|
190
|
+
// for callers that bypass the UI gate.
|
|
191
|
+
const deletableRowKeys = rowKeys.filter(key => !this.isRowDeleteDisabled(key));
|
|
192
|
+
if (!deletableRowKeys.length) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
155
195
|
const {
|
|
156
196
|
translate: t
|
|
157
197
|
} = this.collection;
|
|
@@ -162,7 +202,7 @@ class EditableTableState {
|
|
|
162
202
|
primaryButtonText: t('cairo.delete.button'),
|
|
163
203
|
secondaryButtonText: t('cairo.cancel.button'),
|
|
164
204
|
primaryButtonOnClick: () => {
|
|
165
|
-
this.deleteItems(
|
|
205
|
+
this.deleteItems(deletableRowKeys);
|
|
166
206
|
}
|
|
167
207
|
});
|
|
168
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","EditableTableState","constructor","params","_params$extraCellType","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","origin","toolbar","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","collection","sort","id","clearResult","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_providedColumns","ref","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","action","confirmDeleteItems","permissions","keyedItems","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(rowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAGA,IAAAQ,0BAAA,GAAAR,OAAA;AAsCO,MAAMS,kBAAkB,CAE/B;EAkBEC,WAAWA,CAACC,MAAsC,EAAE;IAAA,IAAAC,qBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAVtB,IAAIC,8BAAqB,CAErD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAEe,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACL,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BAEc,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA+GfE,KAAU,IAAK;MACxC,OAAO,IAAI,CAACC,UAAU,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACvD,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,0BAEiBK,MAAe,IAAK;MACpC,IAAI,CAACC,OAAO,CAACC,iBAAiB,CAACC,cAAc,CAACH,MAAM,CAAC;IACvD,CAAC;IAAA,IAAAN,gBAAA,CAAAC,OAAA,gBAiJM,CACLS,QAAgB,EAChB;MACEC,cAAc;MACdC;IACkD,CAAC,GAAG,CAAC,CAAC,KACvD;MACH,IAAI,CAACC,UAAU,CAACC,IAAI,CAClB;QAAEC,EAAE,EAAEL;MAAS,CAAC,EAChB;QAAEC,cAAc;QAAEK,WAAW,EAAE,IAAI;QAAEJ;MAAS,CAChD,CAAC;IACH,CAAC;IA9QC,IAAI,CAACL,OAAO,GACVT,MAAM,CAACS,OAAO,IACd,IAAIU,8CAAsB,CAAC;MACzBJ,UAAU,EAAEf,MAAM,CAACe,UAAU;MAC7BK,SAAS,EAAEpB,MAAM,CAACoB,SAAS;MAC3BC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACf,UAAU,GAAG,IAAIgB,sBAAU,CAAC;MAC/BP,UAAU,EAAEf,MAAM,CAACe,UAAU;MAC7BK,SAAS,EAAEpB,MAAM,CAACoB,SAAS;MAC3BX,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACc,SAAS,GAAG,IAAIC,8BAAc,CACjC,IAAI,EACJ,IAAIC,GAAG,EAAAxB,qBAAA,GAACD,MAAM,CAAC0B,cAAc,qBAArBzB,qBAAA,CAAuB0B,GAAG,CAAEC,EAAE,IAAK,CAACA,EAAE,CAACC,IAAI,EAAED,EAAE,CAAC,CAAC,CAC3D,CAAC;IAED,IAAI,CAACE,eAAe,GAAG,IAAIC,0CAAoB,CAC7C,CAACC,YAAY,EAAEC,IAAI,KAAK;MACtB,IAAI,CAACV,SAAS,CAACW,aAAa,CAACF,YAAY,EAAEC,IAAI,CAAC;IAClD,CAAC,EACD,IACF,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAC/C,IAAI,CAACC,QAAQ,GAAG,IAAIC,4BAAa,CAC/B,IAAI,EACJtC,MAAM,CAACuC,SAAS,EAChBvC,MAAM,CAACwC,uBACT,CAAC;IACD,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,gBAAU;MAC3BC,kBAAkB,EAAED,gBAAU;MAC9BE,kBAAkB,EAAEF,gBAAU;MAC9BG,gBAAgB,EAAEH,gBAAU,CAACI,GAAG;MAChCC,eAAe,EAAEC,cAAQ;MACzBC,aAAa,EAAED,cAAQ;MACvBE,UAAU,EAAEF,cAAQ;MACpBG,UAAU,EAAEH,cAAQ;MACpBI,IAAI,EAAEC,YAAM;MACZC,kBAAkB,EAAED;IACtB,CAAC,CAAC;IAEF,IAAItD,MAAM,CAACwD,WAAW,EAAE;MACtB,IAAI,CAACd,eAAe,GAAG1C,MAAM,CAACwD,WAAW,CAACd,eAAe,IAAI,KAAK;MAClE,IAAI,CAACE,kBAAkB,GAAG5C,MAAM,CAACwD,WAAW,CAACZ,kBAAkB,IAAI,KAAK;MACxE,IAAI,CAACC,kBAAkB,GAAG7C,MAAM,CAACwD,WAAW,CAACX,kBAAkB,IAAI,KAAK;IAC1E;EACF;EAEA,IAAI9B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACT,UAAU,CAACS,UAAU;EACnC;EAEA,IAAI0C,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnD,UAAU,CAACmD,UAAU;EACnC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACpD,UAAU,CAACoD,cAAc;EACvC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACrD,UAAU,CAACqD,kBAAkB;EAC3C;;EAEA;EACA,IAAIT,aAAaA,CAAA,EAAwB;IACvC,MAAMU,MAAM,GAAG,IAAI,CAACnD,OAAO,CAACoD,sBAAsB;IAClD,IAAI,CAACD,MAAM,IAAI,CAACA,MAAM,CAACE,QAAQ,CAACC,MAAM,CAACC,SAAS,EAAE;MAChD,OAAO,EAAE;IACX;IACA,OAAO,IAAAC,oDAAyB,EAC9BL,MAAM,CAACM,YAAY,EACnBN,MAAM,CAACO,eACT,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAIhB,UAAUA,CAAA,EAAwB;IACpC,OAAO,CAAC,GAAG,IAAI,CAACL,gBAAgB,EAAE,GAAG,IAAI,CAACI,aAAa,CAAC;EAC1D;EAEA,IAAIE,UAAUA,CAAA,EAAmC;IAC/C,OAAO,IAAI3B,GAAG,CAAC,IAAI,CAAC0B,UAAU,CAACxB,GAAG,CAAEyC,CAAC,IAAK,CAACA,CAAC,CAACnD,EAAE,EAAEmD,CAAC,CAAC,CAAC,CAAC;EACvD;EAEAC,aAAaA,CAACC,GAAW,EAAmC;IAC1D,OAAO,IAAI,CAACvD,UAAU,CAACwD,YAAY,CAACD,GAAG,CAAC;EAC1C;EAEAE,UAAUA,CAACC,GAAS,EAAuC;IACzD,MAAMC,GAAG,GAAG,IAAI,CAACjB,UAAU,CAACkB,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAACN,GAAG,KAAKG,GAAG,CAACI,MAAM,CAAC;IACpE,MAAMC,GAAG,GAAG,IAAI,CAAC9B,eAAe,CAAC2B,SAAS,CAAEP,CAAC,IAAKA,CAAC,CAACnD,EAAE,KAAKwD,GAAG,CAAC7D,QAAQ,CAAC;IACxE,OAAO8D,GAAG,KAAK,CAAC,CAAC,IAAII,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG;MAAEJ,GAAG;MAAEI;IAAI,CAAC;EACvD;EAEAC,WAAWA,CAACL,GAAW,EAAEI,GAAW,EAAe;IACjD,MAAMF,EAAE,GAAG,IAAI,CAACnB,UAAU,CAACiB,GAAG,CAAC;IAC/B,MAAMN,CAAC,GAAG,IAAI,CAACpB,eAAe,CAAC8B,GAAG,CAAC;IACnC,OAAOF,EAAE,IAAIR,CAAC,GAAG;MAAES,MAAM,EAAED,EAAE,CAACN,GAAG;MAAE1D,QAAQ,EAAEwD,CAAC,CAACnD;IAAG,CAAC,GAAG,IAAI;EAC5D;EAUA,IAAI+B,eAAeA,CAAA,EAAwB;IACzC,MAAMgC,UAAU,GAAG,IAAI,CAACtB,cAAc,CAAC/B,GAAG,CAAEyC,CAAC,IAAKA,CAAC,CAACnD,EAAE,CAAC;IACvD,IAAI,CAAC+D,UAAU,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI,CAAC9B,UAAU;IACxB;IACA,OAAO6B,UAAU,CACdrD,GAAG,CAAEV,EAAE,IAAK,IAAI,CAACkC,UAAU,CAAC+B,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACnD,EAAE,KAAKA,EAAE,CAAC,CAAC,CACrDkE,MAAM,CAAEf,CAAC,IAA6BA,CAAC,KAAKgB,SAAS,CAAC;EAC3D;EAEA/B,IAAIA,CAACgC,OAA4B,EAAE;IACjC,IAAI,CAACvC,gBAAgB,GAAGuC,OAAO;IAC/B,OAAO,IAAI,CAAChD,QAAQ,CAACgB,IAAI,CAAC,CAAC;EAC7B;EAEAiC,OAAOA,CAACC,YAAqB,EAAU;IACrC,OAAO,IAAI,CAAClD,QAAQ,CAACiD,OAAO,CAACC,YAAY,CAAC;EAC5C;EAEAC,aAAaA,CAACX,MAAc,EAAE;IAC5B,IAAI,CAACxC,QAAQ,CAACmD,aAAa,CAACX,MAAM,CAAC;EACrC;EAEAY,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAACrD,QAAQ,CAACoD,WAAW,CAACC,OAAO,CAAC;EACpC;EAEAnC,kBAAkBA,CAACmC,OAAiB,EAAE;IACpC,MAAM;MAAEC,SAAS,EAAEC;IAAE,CAAC,GAAG,IAAI,CAAC7E,UAAU;IACxC,IAAI,CAAC8E,kBAAkB,CAACC,IAAI,CAAC;MAC3BC,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAEJ,CAAC,CAAC,yBAAyB,CAAC;MACnCK,OAAO,EAAEL,CAAC,CAAC,wBAAwB,CAAC;MACpCM,iBAAiB,EAAEN,CAAC,CAAC,qBAAqB,CAAC;MAC3CO,mBAAmB,EAAEP,CAAC,CAAC,qBAAqB,CAAC;MAC7CQ,oBAAoB,EAAEA,CAAA,KAAM;QAC1B,IAAI,CAACX,WAAW,CAACC,OAAO,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EAEAW,yBAAyBA,CAACzF,QAAgB,EAAE;IAC1C,OAAO,IAAI,CAACW,SAAS,CAAC8E,yBAAyB,CAACzF,QAAQ,CAAC;EAC3D;EAEA0F,mBAAmBA,CAACzB,MAAc,EAAEjE,QAAgB,EAAO;IACzD,OAAO,IAAI,CAACW,SAAS,CAAC+E,mBAAmB,CAACzB,MAAM,EAAEjE,QAAQ,CAAC;EAC7D;EAEA2F,iBAAiBA,CAAC1B,MAAc,EAAEjE,QAAgB,EAAoB;IACpE,OAAO,IAAI,CAACW,SAAS,CAACgF,iBAAiB,CAAC1B,MAAM,EAAEjE,QAAQ,CAAC;EAC3D;EAEA4F,cAAcA,CAAC3B,MAAc,EAAEjE,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACW,SAAS,CAACiF,cAAc,CAAC3B,MAAM,EAAEjE,QAAQ,CAAC;EACxD;EAEA6F,gBAAgBA,CAAC5B,MAAc,EAAEjE,QAAgB,EAAW;IAC1D,OAAO,IAAI,CAACW,SAAS,CAACkF,gBAAgB,CAAC5B,MAAM,EAAEjE,QAAQ,CAAC;EAC1D;EAEA8F,UAAUA,CAACC,KAAa,EAAE;IACxB,IAAI,CAACpF,SAAS,CAACmF,UAAU,CAACC,KAAK,CAAC;EAClC;EAEAC,eAAeA,CAAC/B,MAAc,EAAEjE,QAAgB,EAAEiG,QAAiB,EAAE;IACnE,IAAI,IAAI,CAAC/E,eAAe,CAACgF,SAAS,EAAE;MAClC,IAAI,IAAI,CAAChF,eAAe,CAACiF,aAAa,CAAClC,MAAM,EAAEjE,QAAQ,CAAC,EAAE;QACxD;QACA;MACF;MACA;MACA;MACA,IAAIiG,QAAQ,EAAE;QACZ;MACF;MACA;MACA,IAAI,CAAC/E,eAAe,CAACkF,UAAU,CAAC,CAAC;;MAEjC;MACA,MAAMlC,GAAG,GAAG,IAAI,CAAC1B,UAAU,CAAC6D,GAAG,CAACrG,QAAQ,CAAC;MACzC,MAAMsG,GAAG,GAAGpC,GAAG,GAAG,IAAI,CAACuB,yBAAyB,CAACvB,GAAG,CAAC7D,EAAE,CAAC,GAAG,IAAI;MAC/D,IAAIiG,GAAG,YAAHA,GAAG,CAAEC,WAAW,EAAE;QACpB,MAAMC,GAAG,GAAG,IAAI,CAACd,mBAAmB,CAACzB,MAAM,EAAEjE,QAAQ,CAAC;QACtD,IAAIsG,GAAG,CAACC,WAAW,CAACC,GAAG,CAAC,IAAI,IAAI,CAACZ,cAAc,CAAC3B,MAAM,EAAEjE,QAAQ,CAAC,EAAE;UACjE,IAAI,CAACkB,eAAe,CAACuF,SAAS,CAACxC,MAAM,EAAEjE,QAAQ,CAAC;UAChD,IAAI,CAACkB,eAAe,CAACwF,SAAS,CAACzC,MAAM,EAAEjE,QAAQ,EAAE,OAAO,CAAC;UACzD;QACF;MACF;MAEA,IAAI,CAACkB,eAAe,CAACuF,SAAS,CAACxC,MAAM,EAAEjE,QAAQ,CAAC;MAChD;IACF;IAEA,MAAM2G,MAAM,GAAG,IAAI,CAACnE,UAAU,CAAC6D,GAAG,CAACrG,QAAQ,CAAC;IAC5C,MAAM4G,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAAClB,yBAAyB,CAACkB,MAAM,CAACtG,EAAE,CAAC,GAAG,IAAI;IAC1E,IAAIuG,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;MACA;MACA,IAAI,CAAC5F,eAAe,CAACuF,SAAS,CAACxC,MAAM,EAAEjE,QAAQ,CAAC;MAChD;IACF;IAEA,IAAI4G,QAAQ,YAARA,QAAQ,CAAEL,WAAW,EAAE;MACzB,MAAMQ,KAAK,GAAG,IAAI,CAACrB,mBAAmB,CAACzB,MAAM,EAAEjE,QAAQ,CAAC;MACxD,IACE4G,QAAQ,CAACL,WAAW,CAACQ,KAAK,CAAC,IAC3B,IAAI,CAACnB,cAAc,CAAC3B,MAAM,EAAEjE,QAAQ,CAAC,EACrC;QACA,IAAI,CAACkB,eAAe,CAACuF,SAAS,CAACxC,MAAM,EAAEjE,QAAQ,CAAC;QAChD,IAAI,CAACkB,eAAe,CAACwF,SAAS,CAACzC,MAAM,EAAEjE,QAAQ,EAAE,OAAO,CAAC;QACzD;MACF;IACF;IAEA,IAAIiG,QAAQ,IAAI,IAAI,CAAC/E,eAAe,CAAC8F,eAAe,EAAE;MACpD,IAAI,CAAC9F,eAAe,CAAC+F,WAAW,CAAC,IAAI,CAAC/F,eAAe,CAAC8F,eAAe,EAAE;QACrE/C,MAAM;QACNjE;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACkB,eAAe,CAACuF,SAAS,CAACxC,MAAM,EAAEjE,QAAQ,CAAC;IAClD;EACF;EAEAkH,qBAAqBA,CAACjD,MAAc,EAAEjE,QAAgB,EAAE;IACtD,IAAI,IAAI,CAACgC,kBAAkB,EAAE;MAC3B;IACF;IACA,MAAM2E,MAAM,GAAG,IAAI,CAACnE,UAAU,CAAC6D,GAAG,CAACrG,QAAQ,CAAC;IAC5C,MAAM4G,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAAClB,yBAAyB,CAACkB,MAAM,CAACtG,EAAE,CAAC,GAAG,IAAI;IAC1E;IACA;IACA;IACA,IAAIuG,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;IACF;IACA,IAAI,IAAI,CAAClB,cAAc,CAAC3B,MAAM,EAAEjE,QAAQ,CAAC,EAAE;MACzC,IAAI,CAACkB,eAAe,CAACwF,SAAS,CAACzC,MAAM,EAAEjE,QAAQ,EAAE,aAAa,CAAC;IACjE;EACF;AAcF;AAACmH,OAAA,CAAAjI,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","EditableTableState","constructor","params","_params$extraCellType","_defineProperty2","default","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbar","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","collection","sort","id","clearResult","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","result","reason","isMultiDeleteDisabled","rowKeys","some","key","keyedItems","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","_toIndices","pos","row","findIndex","ki","col","_toPosition","visibleIds","length","find","filter","columns","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem, RemoveItemDisabledResult } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(deletableRowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAGA,IAAAQ,0BAAA,GAAAR,OAAA;AAuDO,MAAMS,kBAAkB,CAE/B;EAsBEC,WAAWA,CAACC,MAAsC,EAAE;IAAA,IAAAC,qBAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAdtB,IAAIC,8BAAqB,CAErD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAEe,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACL,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BACJ,KAAK;IAC3B;IACA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gCAC+DE,SAAS;IAAA,IAAAH,gBAAA,CAAAC,OAAA,4BAEhC,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCAkJfG,KAAU,IAAK;MACxC,OAAO,IAAI,CAACC,UAAU,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACvD,CAAC;IAAA,IAAAJ,gBAAA,CAAAC,OAAA,0BAEiBM,MAAe,IAAK;MACpC,IAAI,CAACC,OAAO,CAACC,iBAAiB,CAACC,cAAc,CAACH,MAAM,CAAC;IACvD,CAAC;IAAA,IAAAP,gBAAA,CAAAC,OAAA,gBAyJM,CACLU,QAAgB,EAChB;MACEC,cAAc;MACdC;IACkD,CAAC,GAAG,CAAC,CAAC,KACvD;MACH,IAAI,CAACC,UAAU,CAACC,IAAI,CAClB;QAAEC,EAAE,EAAEL;MAAS,CAAC,EAChB;QAAEC,cAAc;QAAEK,WAAW,EAAE,IAAI;QAAEJ;MAAS,CAChD,CAAC;IACH,CAAC;IAzTC,IAAI,CAACL,OAAO,GACVV,MAAM,CAACU,OAAO,IACd,IAAIU,8CAAsB,CAAC;MACzBJ,UAAU,EAAEhB,MAAM,CAACgB,UAAU;MAC7BK,SAAS,EAAErB,MAAM,CAACqB,SAAS;MAC3BC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACf,UAAU,GAAG,IAAIgB,sBAAU,CAAC;MAC/BP,UAAU,EAAEhB,MAAM,CAACgB,UAAU;MAC7BK,SAAS,EAAErB,MAAM,CAACqB,SAAS;MAC3BX,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACc,SAAS,GAAG,IAAIC,8BAAc,CACjC,IAAI,EACJ,IAAIC,GAAG,EAAAzB,qBAAA,GAACD,MAAM,CAAC2B,cAAc,qBAArB1B,qBAAA,CAAuB2B,GAAG,CAAEC,EAAE,IAAK,CAACA,EAAE,CAACC,IAAI,EAAED,EAAE,CAAC,CAAC,CAC3D,CAAC;IAED,IAAI,CAACE,eAAe,GAAG,IAAIC,0CAAoB,CAC7C,CAACC,YAAY,EAAEC,IAAI,KAAK;MACtB,IAAI,CAACV,SAAS,CAACW,aAAa,CAACF,YAAY,EAAEC,IAAI,CAAC;IAClD,CAAC,EACD,IACF,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAC/C,IAAI,CAACC,QAAQ,GAAG,IAAIC,4BAAa,CAC/B,IAAI,EACJvC,MAAM,CAACwC,SAAS,EAChBxC,MAAM,CAACyC,uBACT,CAAC;IACD,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,gBAAU;MAC3BC,kBAAkB,EAAED,gBAAU;MAC9BE,kBAAkB,EAAEF,gBAAU;MAC9BG,mBAAmB,EAAEH,gBAAU;MAC/BI,oBAAoB,EAAEJ,gBAAU,CAACK,GAAG;MACpCC,cAAc,EAAEC,YAAM;MACtBC,gBAAgB,EAAER,gBAAU,CAACK,GAAG;MAChCI,eAAe,EAAEC,cAAQ;MACzBC,aAAa,EAAED,cAAQ;MACvBE,UAAU,EAAEF,cAAQ;MACpBG,UAAU,EAAEH,cAAQ;MACpBI,IAAI,EAAEP,YAAM;MACZQ,kBAAkB,EAAER;IACtB,CAAC,CAAC;IAEF,IAAI,CAACD,cAAc,CAAClD,MAAM,CAAC4D,WAAW,IAAI,CAAC,CAAC,CAAC;EAC/C;EAEAV,cAAcA,CAACU,WAAwC,EAAE;IACvD,IAAI,CAACjB,eAAe,GAAGiB,WAAW,CAACjB,eAAe,IAAI,KAAK;IAC3D,IAAI,CAACE,kBAAkB,GAAGe,WAAW,CAACf,kBAAkB,IAAI,KAAK;IACjE,IAAI,CAACC,kBAAkB,GAAGc,WAAW,CAACd,kBAAkB,IAAI,KAAK;IACjE,IAAI,CAACC,mBAAmB,GACtBa,WAAW,CAACb,mBAAmB,IAAI,IAAI,CAACD,kBAAkB;IAC5D,IAAI,CAACE,oBAAoB,GAAGY,WAAW,CAACZ,oBAAoB;EAC9D;EAEAa,mBAAmBA,CAACC,MAAc,EAAW;IAC3C,IAAI,IAAI,CAAChB,kBAAkB,EAAE;MAC3B,OAAO,IAAI;IACb;IACA,IAAI,CAAC,IAAI,CAACE,oBAAoB,EAAE;MAC9B,OAAO,KAAK;IACd;IACA,MAAMe,KAAK,GAAG,IAAI,CAACC,aAAa,CAACF,MAAM,CAAC;IACxC,OAAOC,KAAK,GAAG,IAAI,CAACf,oBAAoB,CAACe,KAAK,CAACE,IAAI,CAAC,CAACC,QAAQ,GAAG,KAAK;EACvE;EAEAC,uBAAuBA,CAACL,MAAc,EAAsB;IAC1D,IAAI,CAAC,IAAI,CAACd,oBAAoB,EAAE;MAC9B,OAAO3C,SAAS;IAClB;IACA,MAAM0D,KAAK,GAAG,IAAI,CAACC,aAAa,CAACF,MAAM,CAAC;IACxC,MAAMM,MAAM,GAAGL,KAAK,GAAG,IAAI,CAACf,oBAAoB,CAACe,KAAK,CAACE,IAAI,CAAC,GAAG5D,SAAS;IACxE,OAAO+D,MAAM,YAANA,MAAM,CAAEF,QAAQ,GAAGE,MAAM,CAACC,MAAM,GAAGhE,SAAS;EACrD;EAEAiE,qBAAqBA,CAACC,OAAiB,EAAW;IAChD,IAAI,IAAI,CAACxB,mBAAmB,EAAE;MAC5B,OAAO,IAAI;IACb;IACA,OAAOwB,OAAO,CAACC,IAAI,CAAEC,GAAG,IAAK,IAAI,CAACZ,mBAAmB,CAACY,GAAG,CAAC,CAAC;EAC7D;EAEA,IAAIzD,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACT,UAAU,CAACS,UAAU;EACnC;EAEA,IAAI0D,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACnE,UAAU,CAACmE,UAAU;EACnC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACpE,UAAU,CAACoE,cAAc;EACvC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACrE,UAAU,CAACqE,kBAAkB;EAC3C;;EAEA;EACA,IAAIrB,aAAaA,CAAA,EAAwB;IACvC,MAAMsB,MAAM,GAAG,IAAI,CAACnE,OAAO,CAACoE,sBAAsB;IAClD,IAAI,CAACD,MAAM,IAAI,CAACA,MAAM,CAACE,QAAQ,CAACC,MAAM,CAACC,SAAS,EAAE;MAChD,OAAO,EAAE;IACX;IACA,OAAO,IAAAC,oDAAyB,EAC9BL,MAAM,CAACM,YAAY,EACnBN,MAAM,CAACO,eACT,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;EACE,IAAI5B,UAAUA,CAAA,EAAwB;IACpC,OAAO,CAAC,GAAG,IAAI,CAACJ,gBAAgB,EAAE,GAAG,IAAI,CAACG,aAAa,CAAC;EAC1D;EAEA,IAAIE,UAAUA,CAAA,EAAmC;IAC/C,OAAO,IAAI/B,GAAG,CAAC,IAAI,CAAC8B,UAAU,CAAC5B,GAAG,CAAEyD,CAAC,IAAK,CAACA,CAAC,CAACnE,EAAE,EAAEmE,CAAC,CAAC,CAAC,CAAC;EACvD;EAEArB,aAAaA,CAACS,GAAW,EAAmC;IAC1D,OAAO,IAAI,CAACzD,UAAU,CAACsE,YAAY,CAACb,GAAG,CAAC;EAC1C;EAEAc,UAAUA,CAACC,GAAS,EAAuC;IACzD,MAAMC,GAAG,GAAG,IAAI,CAACf,UAAU,CAACgB,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAAClB,GAAG,KAAKe,GAAG,CAAC1B,MAAM,CAAC;IACpE,MAAM8B,GAAG,GAAG,IAAI,CAACvC,eAAe,CAACqC,SAAS,CAAEL,CAAC,IAAKA,CAAC,CAACnE,EAAE,KAAKsE,GAAG,CAAC3E,QAAQ,CAAC;IACxE,OAAO4E,GAAG,KAAK,CAAC,CAAC,IAAIG,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG;MAAEH,GAAG;MAAEG;IAAI,CAAC;EACvD;EAEAC,WAAWA,CAACJ,GAAW,EAAEG,GAAW,EAAe;IACjD,MAAMD,EAAE,GAAG,IAAI,CAACjB,UAAU,CAACe,GAAG,CAAC;IAC/B,MAAMJ,CAAC,GAAG,IAAI,CAAChC,eAAe,CAACuC,GAAG,CAAC;IACnC,OAAOD,EAAE,IAAIN,CAAC,GAAG;MAAEvB,MAAM,EAAE6B,EAAE,CAAClB,GAAG;MAAE5D,QAAQ,EAAEwE,CAAC,CAACnE;IAAG,CAAC,GAAG,IAAI;EAC5D;EAUA,IAAImC,eAAeA,CAAA,EAAwB;IACzC,MAAMyC,UAAU,GAAG,IAAI,CAACnB,cAAc,CAAC/C,GAAG,CAAEyD,CAAC,IAAKA,CAAC,CAACnE,EAAE,CAAC;IACvD,IAAI,CAAC4E,UAAU,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI,CAACvC,UAAU;IACxB;IACA,OAAOsC,UAAU,CACdlE,GAAG,CAAEV,EAAE,IAAK,IAAI,CAACsC,UAAU,CAACwC,IAAI,CAAEX,CAAC,IAAKA,CAAC,CAACnE,EAAE,KAAKA,EAAE,CAAC,CAAC,CACrD+E,MAAM,CAAEZ,CAAC,IAA6BA,CAAC,KAAKhF,SAAS,CAAC;EAC3D;EAEAqD,IAAIA,CAACwC,OAA4B,EAAE;IACjC,IAAI,CAAC9C,gBAAgB,GAAG8C,OAAO;IAC/B,OAAO,IAAI,CAAC5D,QAAQ,CAACoB,IAAI,CAAC,CAAC;EAC7B;EAEAyC,OAAOA,CAACC,YAAqB,EAAU;IACrC,OAAO,IAAI,CAAC9D,QAAQ,CAAC6D,OAAO,CAACC,YAAY,CAAC;EAC5C;EAEAC,aAAaA,CAACvC,MAAc,EAAE;IAC5B,IAAI,CAACxB,QAAQ,CAAC+D,aAAa,CAACvC,MAAM,CAAC;EACrC;EAEAwC,WAAWA,CAAC/B,OAAiB,EAAE;IAC7B,IAAI,CAACjC,QAAQ,CAACgE,WAAW,CAAC/B,OAAO,CAAC;EACpC;EAEAZ,kBAAkBA,CAACY,OAAiB,EAAE;IACpC;IACA;IACA,MAAMgC,gBAAgB,GAAGhC,OAAO,CAAC0B,MAAM,CACpCxB,GAAG,IAAK,CAAC,IAAI,CAACZ,mBAAmB,CAACY,GAAG,CACxC,CAAC;IACD,IAAI,CAAC8B,gBAAgB,CAACR,MAAM,EAAE;MAC5B;IACF;IACA,MAAM;MAAES,SAAS,EAAEC;IAAE,CAAC,GAAG,IAAI,CAACzF,UAAU;IACxC,IAAI,CAAC0F,kBAAkB,CAACC,IAAI,CAAC;MAC3BC,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAEJ,CAAC,CAAC,yBAAyB,CAAC;MACnCK,OAAO,EAAEL,CAAC,CAAC,wBAAwB,CAAC;MACpCM,iBAAiB,EAAEN,CAAC,CAAC,qBAAqB,CAAC;MAC3CO,mBAAmB,EAAEP,CAAC,CAAC,qBAAqB,CAAC;MAC7CQ,oBAAoB,EAAEA,CAAA,KAAM;QAC1B,IAAI,CAACX,WAAW,CAACC,gBAAgB,CAAC;MACpC;IACF,CAAC,CAAC;EACJ;EAEAW,yBAAyBA,CAACrG,QAAgB,EAAE;IAC1C,OAAO,IAAI,CAACW,SAAS,CAAC0F,yBAAyB,CAACrG,QAAQ,CAAC;EAC3D;EAEAsG,mBAAmBA,CAACrD,MAAc,EAAEjD,QAAgB,EAAO;IACzD,OAAO,IAAI,CAACW,SAAS,CAAC2F,mBAAmB,CAACrD,MAAM,EAAEjD,QAAQ,CAAC;EAC7D;EAEAuG,iBAAiBA,CAACtD,MAAc,EAAEjD,QAAgB,EAAoB;IACpE,OAAO,IAAI,CAACW,SAAS,CAAC4F,iBAAiB,CAACtD,MAAM,EAAEjD,QAAQ,CAAC;EAC3D;EAEAwG,cAAcA,CAACvD,MAAc,EAAEjD,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACW,SAAS,CAAC6F,cAAc,CAACvD,MAAM,EAAEjD,QAAQ,CAAC;EACxD;EAEAyG,gBAAgBA,CAACxD,MAAc,EAAEjD,QAAgB,EAAW;IAC1D,OAAO,IAAI,CAACW,SAAS,CAAC8F,gBAAgB,CAACxD,MAAM,EAAEjD,QAAQ,CAAC;EAC1D;EAEA0G,UAAUA,CAACC,KAAa,EAAE;IACxB,IAAI,CAAChG,SAAS,CAAC+F,UAAU,CAACC,KAAK,CAAC;EAClC;EAEAC,eAAeA,CAAC3D,MAAc,EAAEjD,QAAgB,EAAE6G,QAAiB,EAAE;IACnE,IAAI,IAAI,CAAC3F,eAAe,CAAC4F,SAAS,EAAE;MAClC,IAAI,IAAI,CAAC5F,eAAe,CAAC6F,aAAa,CAAC9D,MAAM,EAAEjD,QAAQ,CAAC,EAAE;QACxD;QACA;MACF;MACA;MACA;MACA,IAAI6G,QAAQ,EAAE;QACZ;MACF;MACA;MACA,IAAI,CAAC3F,eAAe,CAAC8F,UAAU,CAAC,CAAC;;MAEjC;MACA,MAAMjC,GAAG,GAAG,IAAI,CAACnC,UAAU,CAACqE,GAAG,CAACjH,QAAQ,CAAC;MACzC,MAAMkH,GAAG,GAAGnC,GAAG,GAAG,IAAI,CAACsB,yBAAyB,CAACtB,GAAG,CAAC1E,EAAE,CAAC,GAAG,IAAI;MAC/D,IAAI6G,GAAG,YAAHA,GAAG,CAAEC,WAAW,EAAE;QACpB,MAAMC,GAAG,GAAG,IAAI,CAACd,mBAAmB,CAACrD,MAAM,EAAEjD,QAAQ,CAAC;QACtD,IAAIkH,GAAG,CAACC,WAAW,CAACC,GAAG,CAAC,IAAI,IAAI,CAACZ,cAAc,CAACvD,MAAM,EAAEjD,QAAQ,CAAC,EAAE;UACjE,IAAI,CAACkB,eAAe,CAACmG,SAAS,CAACpE,MAAM,EAAEjD,QAAQ,CAAC;UAChD,IAAI,CAACkB,eAAe,CAACoG,SAAS,CAACrE,MAAM,EAAEjD,QAAQ,EAAE,OAAO,CAAC;UACzD;QACF;MACF;MAEA,IAAI,CAACkB,eAAe,CAACmG,SAAS,CAACpE,MAAM,EAAEjD,QAAQ,CAAC;MAChD;IACF;IAEA,MAAMuH,MAAM,GAAG,IAAI,CAAC3E,UAAU,CAACqE,GAAG,CAACjH,QAAQ,CAAC;IAC5C,MAAMwH,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAAClB,yBAAyB,CAACkB,MAAM,CAAClH,EAAE,CAAC,GAAG,IAAI;IAC1E,IAAImH,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;MACA;MACA,IAAI,CAACxG,eAAe,CAACmG,SAAS,CAACpE,MAAM,EAAEjD,QAAQ,CAAC;MAChD;IACF;IAEA,IAAIwH,QAAQ,YAARA,QAAQ,CAAEL,WAAW,EAAE;MACzB,MAAMQ,KAAK,GAAG,IAAI,CAACrB,mBAAmB,CAACrD,MAAM,EAAEjD,QAAQ,CAAC;MACxD,IACEwH,QAAQ,CAACL,WAAW,CAACQ,KAAK,CAAC,IAC3B,IAAI,CAACnB,cAAc,CAACvD,MAAM,EAAEjD,QAAQ,CAAC,EACrC;QACA,IAAI,CAACkB,eAAe,CAACmG,SAAS,CAACpE,MAAM,EAAEjD,QAAQ,CAAC;QAChD,IAAI,CAACkB,eAAe,CAACoG,SAAS,CAACrE,MAAM,EAAEjD,QAAQ,EAAE,OAAO,CAAC;QACzD;MACF;IACF;IAEA,IAAI6G,QAAQ,IAAI,IAAI,CAAC3F,eAAe,CAAC0G,eAAe,EAAE;MACpD,IAAI,CAAC1G,eAAe,CAAC2G,WAAW,CAAC,IAAI,CAAC3G,eAAe,CAAC0G,eAAe,EAAE;QACrE3E,MAAM;QACNjD;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACkB,eAAe,CAACmG,SAAS,CAACpE,MAAM,EAAEjD,QAAQ,CAAC;IAClD;EACF;EAEA8H,qBAAqBA,CAAC7E,MAAc,EAAEjD,QAAgB,EAAE;IACtD,IAAI,IAAI,CAACgC,kBAAkB,EAAE;MAC3B;IACF;IACA,MAAMuF,MAAM,GAAG,IAAI,CAAC3E,UAAU,CAACqE,GAAG,CAACjH,QAAQ,CAAC;IAC5C,MAAMwH,QAAQ,GAAGD,MAAM,GAAG,IAAI,CAAClB,yBAAyB,CAACkB,MAAM,CAAClH,EAAE,CAAC,GAAG,IAAI;IAC1E;IACA;IACA;IACA,IAAImH,QAAQ,YAARA,QAAQ,CAAEC,WAAW,IAAID,QAAQ,YAARA,QAAQ,CAAEE,mBAAmB,EAAE;MAC1D;IACF;IACA,IAAI,IAAI,CAAClB,cAAc,CAACvD,MAAM,EAAEjD,QAAQ,CAAC,EAAE;MACzC,IAAI,CAACkB,eAAe,CAACoG,SAAS,CAACrE,MAAM,EAAEjD,QAAQ,EAAE,aAAa,CAAC;IACjE;EACF;AAcF;AAAC+H,OAAA,CAAA9I,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -9,6 +9,23 @@ class MutationState {
|
|
|
9
9
|
(0, _defineProperty2.default)(this, "_handlers", void 0);
|
|
10
10
|
(0, _defineProperty2.default)(this, "_optimisticActions", void 0);
|
|
11
11
|
(0, _defineProperty2.default)(this, "_parent", void 0);
|
|
12
|
+
(0, _defineProperty2.default)(this, "_submitCreate", async items => {
|
|
13
|
+
const createdItems = await this._handlers.submitCreate(items);
|
|
14
|
+
if (!createdItems) {
|
|
15
|
+
return createdItems;
|
|
16
|
+
}
|
|
17
|
+
const {
|
|
18
|
+
itemKey
|
|
19
|
+
} = this._parent.collection;
|
|
20
|
+
createdItems.forEach((createdItem, index) => {
|
|
21
|
+
const submittedItem = items[index];
|
|
22
|
+
if (!submittedItem) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
this._parent.cellInteraction.replaceRowKey(itemKey(submittedItem), itemKey(createdItem));
|
|
26
|
+
});
|
|
27
|
+
return createdItems;
|
|
28
|
+
});
|
|
12
29
|
this._parent = parent;
|
|
13
30
|
this._handlers = handlers;
|
|
14
31
|
this._optimisticActions = createOptimisticActions(parent.collection);
|
|
@@ -19,7 +36,7 @@ class MutationState {
|
|
|
19
36
|
addItem(afterItemKey) {
|
|
20
37
|
const newItem = this._handlers.createItem();
|
|
21
38
|
this._optimisticActions.createOne(newItem, {
|
|
22
|
-
submit: this.
|
|
39
|
+
submit: this._submitCreate,
|
|
23
40
|
afterItemKey,
|
|
24
41
|
successToast: 'Item created',
|
|
25
42
|
errorToast: (_err, {
|
|
@@ -56,7 +73,7 @@ class MutationState {
|
|
|
56
73
|
}
|
|
57
74
|
}
|
|
58
75
|
this._optimisticActions.createOne(duplicate, {
|
|
59
|
-
submit: this.
|
|
76
|
+
submit: this._submitCreate,
|
|
60
77
|
afterItemKey: keyedItem.key,
|
|
61
78
|
successToast: 'Item duplicated',
|
|
62
79
|
errorToast: (_err, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MutationState","constructor","parent","handlers","createOptimisticActions","_defineProperty2","default","
|
|
1
|
+
{"version":3,"names":["MutationState","constructor","parent","handlers","createOptimisticActions","_defineProperty2","default","items","createdItems","_handlers","submitCreate","itemKey","_parent","collection","forEach","createdItem","index","submittedItem","cellInteraction","replaceRowKey","_optimisticActions","init","addItem","afterItemKey","newItem","createItem","createOne","submit","_submitCreate","successToast","errorToast","_err","retry","message","action","onClick","text","duplicateItem","rowKey","keyedItem","keyedItems","find","ki","key","sourceItem","item","newId","sourceId","duplicate","k","Object","keys","String","deleteItems","rowKeys","map","_this$_parent$keyedIt","filter","length","deleteMany","submitDelete","updateItems","updatedItems","updateMany","keepPosition","submitUpdate","exports"],"sources":["../../../../src/state/EditableTable/MutationState.ts"],"sourcesContent":["import type {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\n\nexport interface EditableTableMutationHandlers<T> {\n /** Factory to create a new empty item with a fresh ID */\n createItem: () => T;\n /** Submit updated items to the server */\n submitUpdate: (items: T[]) => Promise<T[] | void>;\n /** Submit newly created items to the server */\n submitCreate: (items: T[]) => Promise<T[] | void>;\n /** Submit item deletions to the server */\n submitDelete: (items: T[]) => Promise<void>;\n}\n\nexport class MutationState<T, F extends FiltersMap> {\n private readonly _handlers: EditableTableMutationHandlers<T>;\n private readonly _optimisticActions: CollectionOptimisticActions<T, F>;\n private readonly _parent: EditableTableState<T, F>;\n\n constructor(\n parent: EditableTableState<T, F>,\n handlers: EditableTableMutationHandlers<T>,\n createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>,\n ) {\n this._parent = parent;\n this._handlers = handlers;\n this._optimisticActions = createOptimisticActions(parent.collection);\n }\n\n init() {\n return this._optimisticActions.init();\n }\n\n addItem(afterItemKey?: string): string {\n const newItem = this._handlers.createItem();\n this._optimisticActions.createOne(newItem, {\n submit: this._submitCreate,\n afterItemKey,\n successToast: 'Item created',\n errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({\n message: 'Failed to create item',\n action: { onClick: retry, text: 'Retry' },\n }),\n });\n return this._parent.collection.itemKey(newItem);\n }\n\n duplicateItem(rowKey: string) {\n const keyedItem = this._parent.keyedItems.find((ki) => ki.key === rowKey);\n if (!keyedItem) {\n return;\n }\n\n const sourceItem = keyedItem.item;\n const newItem = this._handlers.createItem();\n const { itemKey } = this._parent.collection;\n const newId = itemKey(newItem);\n const sourceId = itemKey(sourceItem);\n const duplicate = { ...sourceItem } as any;\n for (const k of Object.keys(duplicate)) {\n if (String(duplicate[k]) === sourceId) {\n duplicate[k] = newId;\n break;\n }\n }\n this._optimisticActions.createOne(duplicate as T, {\n submit: this._submitCreate,\n afterItemKey: keyedItem.key,\n successToast: 'Item duplicated',\n errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({\n message: 'Failed to duplicate item',\n action: { onClick: retry, text: 'Retry' },\n }),\n });\n }\n\n deleteItems(rowKeys: string[]) {\n const items = rowKeys\n .map((key) => this._parent.keyedItems.find((ki) => ki.key === key)?.item)\n .filter((item): item is T => item != null);\n if (items.length === 0) {\n return;\n }\n\n this._optimisticActions.deleteMany(items, {\n submit: this._handlers.submitDelete,\n successToast:\n items.length === 1 ? 'Item deleted' : `${items.length} items deleted`,\n errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({\n message: 'Failed to delete items',\n action: { onClick: retry, text: 'Retry' },\n }),\n });\n }\n\n updateItems(updatedItems: T[]) {\n if (updatedItems.length === 0) {\n return;\n }\n this._optimisticActions.updateMany(updatedItems, {\n keepPosition: true,\n submit: this._handlers.submitUpdate,\n successToast:\n updatedItems.length === 1\n ? 'Item updated'\n : `${updatedItems.length} items updated`,\n errorToast: (_err: unknown, { retry }: { retry: () => void }) => ({\n message: 'Failed to update items',\n action: { onClick: retry, text: 'Retry' },\n }),\n });\n }\n\n private readonly _submitCreate = async (items: T[]) => {\n const createdItems = await this._handlers.submitCreate(items);\n if (!createdItems) {\n return createdItems;\n }\n\n const { itemKey } = this._parent.collection;\n createdItems.forEach((createdItem, index) => {\n const submittedItem = items[index];\n if (!submittedItem) {\n return;\n }\n\n this._parent.cellInteraction.replaceRowKey(\n itemKey(submittedItem),\n itemKey(createdItem),\n );\n });\n\n return createdItems;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n CellTypeConfigMap,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n RemoveItemDisabledResult,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n CellTypeConfigMap,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","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_ = "
|
|
8
|
+
var _namespace_ = "FormPageHeader1888813645";
|
|
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": "
|
|
15
|
+
"root": "FormPageHeader1888813645__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/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
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/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader1888813645\";\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\":\"FormPageHeader1888813645__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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_EditableTable","_GridState","_TableState","_ToolbarCollectionState","_ViewTypeState","componentType","LayoutSwitchState","viewType","viewTypeState","v","runInAction","options","constructor","params","_defineProperty2","default","TaskState","collection","containerOverrides","toolbar","ToolbarCollectionState","container","reportBi","biParams","componentStatus","tableState","table","TableState","undefined","gridState","grid","GridState","spreadsheetState","spreadsheet","EditableTableState","enabledLayouts","filter","Boolean","ViewTypeState","dataCapsule","layoutState","makeObservable","computed","init","initTask","runOnce","status","promise","exports"],"sources":["../../../src/state/LayoutSwitchState.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n TaskState,\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from '@wix/bex-core';\nimport { computed, makeObservable, runInAction } from 'mobx';\nimport {\n EditableTableState,\n EditableTablePermissions,\n EditableTableMutationHandlers,\n} from './EditableTable';\nimport { GridState } from './GridState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\nimport { ILayoutSwitchState } from './ILayoutSwitchState';\nimport { TableState } from './TableState';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewType, ViewTypeState } from './ViewTypeState';\n\nexport interface TableLayoutConfig {}\n\nexport interface GridLayoutConfig {}\n\nexport interface SpreadsheetLayoutConfig<T, F extends FiltersMap> {\n mutations: EditableTableMutationHandlers<T>;\n permissions?: EditableTablePermissions
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_EditableTable","_GridState","_TableState","_ToolbarCollectionState","_ViewTypeState","componentType","LayoutSwitchState","viewType","viewTypeState","v","runInAction","options","constructor","params","_defineProperty2","default","TaskState","collection","containerOverrides","toolbar","ToolbarCollectionState","container","reportBi","biParams","componentStatus","tableState","table","TableState","undefined","gridState","grid","GridState","spreadsheetState","spreadsheet","EditableTableState","enabledLayouts","filter","Boolean","ViewTypeState","dataCapsule","layoutState","makeObservable","computed","init","initTask","runOnce","status","promise","exports"],"sources":["../../../src/state/LayoutSwitchState.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n TaskState,\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from '@wix/bex-core';\nimport { computed, makeObservable, runInAction } from 'mobx';\nimport {\n EditableTableState,\n EditableTablePermissions,\n EditableTableMutationHandlers,\n} from './EditableTable';\nimport { GridState } from './GridState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\nimport { ILayoutSwitchState } from './ILayoutSwitchState';\nimport { TableState } from './TableState';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewType, ViewTypeState } from './ViewTypeState';\n\nexport interface TableLayoutConfig {}\n\nexport interface GridLayoutConfig {}\n\nexport interface SpreadsheetLayoutConfig<T, F extends FiltersMap> {\n mutations: EditableTableMutationHandlers<T>;\n permissions?: EditableTablePermissions<T>;\n createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n}\n\nexport interface LayoutSwitchStateParams<T, F extends FiltersMap> {\n collection: CollectionState<T, F>;\n container: WixPatternsContainer;\n containerOverrides: Partial<WixPatternsContainerParams>;\n table?: TableLayoutConfig;\n grid?: GridLayoutConfig;\n spreadsheet?: SpreadsheetLayoutConfig<T, F>;\n}\n\nconst componentType = 'LayoutSwitch';\n\nexport class LayoutSwitchState<T, F extends FiltersMap>\n implements ICollectionComponentState, ILayoutSwitchState<T, F>\n{\n readonly collection: CollectionState<T, F>;\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n readonly tableState: TableState<T, F> | undefined;\n readonly gridState: GridState<T, F> | undefined;\n readonly spreadsheetState: EditableTableState<T, F> | undefined;\n readonly viewTypeState: ViewTypeState;\n readonly initTask = new TaskState();\n\n get viewType(): ViewType {\n return this.viewTypeState.viewType;\n }\n\n set viewType(v: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = v;\n });\n }\n\n get options(): ViewType[] {\n return this.viewTypeState.options;\n }\n\n constructor(params: LayoutSwitchStateParams<T, F>) {\n this.collection = params.collection;\n this.containerOverrides = params.containerOverrides;\n\n this.toolbar = new ToolbarCollectionState({\n componentType,\n collection: this.collection,\n container: params.container,\n reportBi: (biParams) =>\n params.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n });\n\n this.tableState = params.table\n ? new TableState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n })\n : undefined;\n\n this.gridState = params.grid\n ? new GridState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n })\n : undefined;\n\n this.spreadsheetState = params.spreadsheet\n ? new EditableTableState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n ...params.spreadsheet,\n })\n : undefined;\n\n const enabledLayouts: ViewType[] = [\n params.table ? 'table' : null,\n params.grid ? 'grid' : null,\n params.spreadsheet ? 'spreadsheet' : null,\n ].filter(Boolean) as ViewType[];\n\n this.viewTypeState = new ViewTypeState({\n container: params.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType,\n collection: this.collection,\n options: enabledLayouts,\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n options: computed,\n });\n }\n\n init() {\n const { viewTypeState, initTask } = this;\n viewTypeState.init();\n\n initTask.runOnce(async () => {\n viewTypeState.initTask.runOnce();\n await viewTypeState.initTask.status.promise;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|