@wix/patterns 1.438.0 → 1.440.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/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/CollectionCard/CollectionCard.js +17 -8
- package/dist/cjs/components/CollectionCard/CollectionCard.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.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/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 +22 -28
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +41 -8
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +10 -4
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +8 -2
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.js +18 -10
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +2 -0
- package/dist/cjs/components/EditableTable/EditableTable.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.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.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.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.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.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.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/multiReference/View.js +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.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/richContent/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.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.js +4 -4
- 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/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.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/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.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/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.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/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/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 +2 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.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/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.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/TabsFilter.st.css.js +3 -3
- 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/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/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/CellValueState.js +18 -4
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +5 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/ExtensionMenuItemsState.js +7 -3
- package/dist/cjs/state/ExtensionMenuItemsState.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/TagsCollectionState.js +5 -2
- package/dist/cjs/state/TagsCollectionState.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/CustomFieldType.md +485 -0
- package/dist/docs/index.json +28 -24
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- 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/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js +3 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- 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/CollectionTable.st.css.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/CollectionToolbar.st.css.js.map +1 -1
- 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/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +22 -24
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +41 -8
- 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/EditableCell.uni.driver.js +8 -2
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.js +6 -1
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +4 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +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.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- 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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- 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.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.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/richContent/index.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- 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/time/Edit.st.css.js.map +1 -1
- 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/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.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/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- 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/NestedTable/NestedTableRow.st.css.js.map +1 -1
- 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/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/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldManagement.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/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.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/TabsFilter.st.css.js +2 -2
- 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/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/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +14 -0
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +7 -1
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/ExtensionMenuItemsState.js +6 -2
- package/dist/esm/state/ExtensionMenuItemsState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/TagsCollectionState.js +2 -2
- package/dist/esm/state/TagsCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionCard/CollectionCard.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.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 -2
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +7 -6
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +52 -42
- package/dist/types/components/EditableTable/EditableTable.uni.driver.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/color/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/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/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts +4 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/ExtensionMenuItemsState.d.ts.map +1 -1
- package/dist/types/state/TagsCollectionState.d.ts +5 -5
- package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +3 -2
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +3 -2
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +3 -2
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- 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/CollectionCard/CollectionCard.tsx +6 -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/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/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +41 -8
- package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
- package/src/components/EditableTable/EditableCell.tsx +57 -51
- package/src/components/EditableTable/EditableCell.uni.driver.ts +10 -3
- package/src/components/EditableTable/EditableTable.tsx +9 -0
- package/src/components/EditableTable/EditableTable.uni.driver.ts +8 -0
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +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.ts +2 -2
- 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.ts +2 -2
- 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/multiReference/View.tsx +1 -1
- 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/richContent/Edit.tsx +1 -1
- package/src/components/EditableTable/cellTypes/richContent/index.tsx +5 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- 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/EmptyState/EmptyStateBase.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- 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/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +1 -1
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- 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/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- 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/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +20 -0
- package/src/state/EditableTable/EditableTableState.ts +13 -1
- package/src/state/ExtensionMenuItemsState.ts +9 -2
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TagsCollectionState.ts +6 -2
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "DragHandle3816638650";
|
|
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": "DragHandle3816638650__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/DragHandle/DragHandle.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/components/DragHandle/DragHandle.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"DragHandle3816638650\";\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\":\"DragHandle3816638650__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,sBAAsB;AACxC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA4B,CAAC;AACnD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,7 +5,6 @@ exports.EditableCell = void 0;
|
|
|
5
5
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
6
|
var _mobxReactLite = require("mobx-react-lite");
|
|
7
7
|
var _designSystem = require("@wix/design-system");
|
|
8
|
-
var _lazy = require("@wix/wix-ui-icons-common/lazy");
|
|
9
8
|
var _EditableCellStCss = require("./EditableCell.st.css.js");
|
|
10
9
|
var _useCellFocusAndEditing = require("./useCellFocusAndEditing");
|
|
11
10
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/EditableTable/EditableCell.tsx";
|
|
@@ -75,7 +74,7 @@ function _EditableCell({
|
|
|
75
74
|
ViewComponent,
|
|
76
75
|
EditComponent
|
|
77
76
|
} = resolved;
|
|
78
|
-
const
|
|
77
|
+
const showErrorMessage = !cellValidation.valid && (isFocused || isEditing);
|
|
79
78
|
const showEdit = (isEditing || isFocused && isEditable && !state.updateItemDisabled && (!!resolved.toggleValue || !!resolved.showEditWhenFocused)) && EditComponent;
|
|
80
79
|
const cellContent = showEdit ? /*#__PURE__*/_react.default.createElement(EditComponent, {
|
|
81
80
|
value: cellInteraction.editingValue !== undefined ? cellInteraction.editingValue : value,
|
|
@@ -92,7 +91,7 @@ function _EditableCell({
|
|
|
92
91
|
__self: this,
|
|
93
92
|
__source: {
|
|
94
93
|
fileName: _jsxFileName,
|
|
95
|
-
lineNumber:
|
|
94
|
+
lineNumber: 110,
|
|
96
95
|
columnNumber: 5
|
|
97
96
|
}
|
|
98
97
|
}) : /*#__PURE__*/_react.default.createElement(ViewComponent, {
|
|
@@ -104,7 +103,7 @@ function _EditableCell({
|
|
|
104
103
|
__self: this,
|
|
105
104
|
__source: {
|
|
106
105
|
fileName: _jsxFileName,
|
|
107
|
-
lineNumber:
|
|
106
|
+
lineNumber: 128,
|
|
108
107
|
columnNumber: 5
|
|
109
108
|
}
|
|
110
109
|
});
|
|
@@ -112,7 +111,7 @@ function _EditableCell({
|
|
|
112
111
|
// The cell type's EditWrapper (if any) stays mounted across the edit↔view
|
|
113
112
|
// swap, so it can own behavior that must outlive the inline editor.
|
|
114
113
|
const EditWrapper = resolved.EditWrapper;
|
|
115
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
116
115
|
ref: cellRef,
|
|
117
116
|
className: (0, _EditableCellStCss.st)(_EditableCellStCss.classes.root, {
|
|
118
117
|
editing: isEditing,
|
|
@@ -146,44 +145,39 @@ function _EditableCell({
|
|
|
146
145
|
__source: {
|
|
147
146
|
fileName: _jsxFileName,
|
|
148
147
|
lineNumber: 143,
|
|
149
|
-
columnNumber:
|
|
148
|
+
columnNumber: 7
|
|
150
149
|
}
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
}, EditWrapper ? /*#__PURE__*/_react.default.createElement(EditWrapper, {
|
|
151
|
+
typeConfig: column.typeConfig,
|
|
152
|
+
columnId: columnId,
|
|
153
|
+
rowKey: rowKey,
|
|
154
154
|
__self: this,
|
|
155
155
|
__source: {
|
|
156
156
|
fileName: _jsxFileName,
|
|
157
157
|
lineNumber: 175,
|
|
158
|
-
columnNumber: 9
|
|
159
|
-
}
|
|
160
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
161
|
-
"data-hook": "validation-indicator",
|
|
162
|
-
__self: this,
|
|
163
|
-
__source: {
|
|
164
|
-
fileName: _jsxFileName,
|
|
165
|
-
lineNumber: 176,
|
|
166
158
|
columnNumber: 11
|
|
167
159
|
}
|
|
168
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
169
|
-
className: _EditableCellStCss.classes.
|
|
160
|
+
}, cellContent) : cellContent), showErrorMessage && /*#__PURE__*/_react.default.createElement("div", {
|
|
161
|
+
className: _EditableCellStCss.classes.errorMessage,
|
|
162
|
+
"data-hook": "cell-error-message",
|
|
163
|
+
"data-row-key": rowKey,
|
|
164
|
+
"data-column-id": columnId,
|
|
170
165
|
__self: this,
|
|
171
166
|
__source: {
|
|
172
167
|
fileName: _jsxFileName,
|
|
173
|
-
lineNumber:
|
|
174
|
-
columnNumber:
|
|
168
|
+
lineNumber: 187,
|
|
169
|
+
columnNumber: 9
|
|
175
170
|
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
rowKey: rowKey,
|
|
171
|
+
}, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
|
|
172
|
+
size: "small",
|
|
173
|
+
skin: "error",
|
|
180
174
|
__self: this,
|
|
181
175
|
__source: {
|
|
182
176
|
fileName: _jsxFileName,
|
|
183
|
-
lineNumber:
|
|
184
|
-
columnNumber:
|
|
177
|
+
lineNumber: 193,
|
|
178
|
+
columnNumber: 11
|
|
185
179
|
}
|
|
186
|
-
},
|
|
180
|
+
}, (_cellValidation$error = cellValidation.errors) == null ? void 0 : _cellValidation$error.join(', '))));
|
|
187
181
|
}
|
|
188
182
|
const EditableCell = exports.EditableCell = (0, _mobxReactLite.observer)(_EditableCell);
|
|
189
183
|
//# sourceMappingURL=EditableCell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_designSystem","_lazy","_EditableCellStCss","_useCellFocusAndEditing","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_EditableCell","state","rowKey","columnId","_cellValidation$error","cellInteraction","clipboard","cellRef","useRef","editInputRef","column","_columnMap","keyedItem","_getKeyedItem","resolved","resolveCellTypeByColumnId","id","value","getCellDisplayValue","cellValidation","getCellValidation","isFocused","isCellFocused","isEditing","isCellEditing","isSelected","isCellSelected","isRangeSelection","isRowActive","selectionBorder","getSelectionBorder","copiedBorder","getCopiedBorder","isEditable","isCellEditable","handleClick","useCallback","stopPropagation","handleCellClick","shiftKey","handleDoubleClick","preventDefault","handleCellDoubleClick","handleChange","newValue","startEdit","setEditingValue","handleCommit","commitEdit","handleCancel","cancelEdit","handleStartEdit","cellKeyboard","useCellFocusAndEditing","ViewComponent","EditComponent","showValidationIndicator","valid","showEdit","updateItemDisabled","toggleValue","showEditWhenFocused","cellContent","createElement","editingValue","undefined","onChange","onCommit","onCancel","onStartEdit","inputRef","typeConfig","editTrigger","validation","__self","__source","fileName","lineNumber","columnNumber","EditWrapper","ref","className","st","classes","root","editing","focused","rowActive","rangeSelected","invalid","growable","selectionTop","top","selectionBottom","bottom","selectionLeft","left","selectionRight","right","copiedTop","copiedBottom","copiedLeft","copiedRight","onClick","onDoubleClick","onKeyDown","role","tabIndex","Tooltip","content","errors","join","appendTo","StatusWarningFilledSmall","validationIndicator","EditableCell","exports","observer"],"sources":["../../../../src/components/EditableTable/EditableCell.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { FiltersMap } from '@wix/bex-core';\nimport { Tooltip } from '@wix/design-system';\nimport { StatusWarningFilledSmall } from '@wix/wix-ui-icons-common/lazy';\nimport { st, classes } from './EditableCell.st.css.js';\nimport type { EditableTableState } from '../../state/EditableTable';\nimport { useCellFocusAndEditing } from './useCellFocusAndEditing';\nimport { Focusable } from './types';\n\nexport interface EditableCellProps<T, F extends FiltersMap> {\n state: EditableTableState<T, F>;\n rowKey: string;\n columnId: string;\n}\n\nfunction _EditableCell<T, F extends FiltersMap>({\n state,\n rowKey,\n columnId,\n}: EditableCellProps<T, F>) {\n const { cellInteraction, clipboard } = state;\n const cellRef = useRef<HTMLDivElement | null>(null);\n const editInputRef = useRef<Focusable>();\n\n const column = state._columnMap.get(columnId);\n const keyedItem = state._getKeyedItem(rowKey);\n const resolved = column ? state.resolveCellTypeByColumnId(column.id) : null;\n const value = state.getCellDisplayValue(rowKey, columnId);\n const cellValidation = state.getCellValidation(rowKey, columnId);\n\n const isFocused = cellInteraction.isCellFocused(rowKey, columnId);\n const isEditing = cellInteraction.isCellEditing(rowKey, columnId);\n const isSelected = cellInteraction.isCellSelected(rowKey, columnId);\n const isRangeSelection = cellInteraction.isRangeSelection;\n const isRowActive = cellInteraction.isRowActive(rowKey);\n const selectionBorder = cellInteraction.getSelectionBorder(rowKey, columnId);\n const copiedBorder = clipboard.getCopiedBorder(rowKey, columnId);\n const isEditable = state.isCellEditable(rowKey, columnId);\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n state.handleCellClick(rowKey, columnId, e.shiftKey);\n },\n [state, rowKey, columnId],\n );\n\n const handleDoubleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n state.handleCellDoubleClick(rowKey, columnId);\n },\n [state, rowKey, columnId],\n );\n\n // Auto-start edit if onChange fires before explicit startEdit (e.g., onOptionMarked\n // in select). startEdit resets editingValue, so it must come before setEditingValue.\n // For production cell types, consider the per-callback withEnterEdit pattern from cms-web.\n const handleChange = useCallback(\n (newValue: any) => {\n if (!cellInteraction.isEditing) {\n cellInteraction.startEdit(rowKey, columnId, 'enter');\n }\n cellInteraction.setEditingValue(newValue);\n },\n [cellInteraction, rowKey, columnId],\n );\n\n const handleCommit = useCallback(\n () => cellInteraction.commitEdit(),\n [cellInteraction],\n );\n\n const handleCancel = useCallback(\n () => cellInteraction.cancelEdit(),\n [cellInteraction],\n );\n\n const handleStartEdit = useCallback(() => {\n if (!cellInteraction.isEditing) {\n cellInteraction.startEdit(rowKey, columnId);\n }\n }, [cellInteraction, rowKey, columnId]);\n\n const cellKeyboard = useCellFocusAndEditing({\n state,\n rowKey,\n columnId,\n cellRef,\n editInputRef,\n });\n\n if (!column || !keyedItem || !resolved) {\n return null;\n }\n\n const { ViewComponent, EditComponent } = resolved;\n const showValidationIndicator = !cellValidation.valid && !isEditing;\n\n const showEdit =\n (isEditing ||\n (isFocused &&\n isEditable &&\n !state.updateItemDisabled &&\n (!!resolved.toggleValue || !!resolved.showEditWhenFocused))) &&\n EditComponent;\n\n const cellContent = showEdit ? (\n <EditComponent\n value={\n cellInteraction.editingValue !== undefined\n ? cellInteraction.editingValue\n : value\n }\n onChange={handleChange}\n onCommit={handleCommit}\n onCancel={handleCancel}\n onStartEdit={handleStartEdit}\n inputRef={editInputRef}\n typeConfig={column.typeConfig}\n editTrigger={cellInteraction.editTrigger}\n validation={column.validation}\n columnId={columnId}\n rowKey={rowKey}\n />\n ) : (\n <ViewComponent\n value={value}\n typeConfig={column.typeConfig}\n validation={column.validation}\n columnId={columnId}\n rowKey={rowKey}\n />\n );\n\n // The cell type's EditWrapper (if any) stays mounted across the edit↔view\n // swap, so it can own behavior that must outlive the inline editor.\n const EditWrapper = resolved.EditWrapper;\n\n return (\n <div\n ref={cellRef}\n className={st(classes.root, {\n editing: isEditing,\n focused: isFocused,\n rowActive: isRowActive,\n rangeSelected: isSelected && isRangeSelection,\n invalid: !cellValidation.valid,\n showEditWhenFocused: !!resolved.showEditWhenFocused,\n growable: !!resolved.growable,\n selectionTop: isRangeSelection && selectionBorder.top,\n selectionBottom: isRangeSelection && selectionBorder.bottom,\n selectionLeft: isRangeSelection && selectionBorder.left,\n selectionRight: isRangeSelection && selectionBorder.right,\n copiedTop: copiedBorder.top,\n copiedBottom: copiedBorder.bottom,\n copiedLeft: copiedBorder.left,\n copiedRight: copiedBorder.right,\n })}\n onClick={handleClick}\n onDoubleClick={handleDoubleClick}\n onKeyDown={cellKeyboard.onKeyDown}\n role=\"gridcell\"\n aria-selected={isSelected}\n aria-readonly={!isEditable}\n aria-invalid={!cellValidation.valid || undefined}\n tabIndex={isFocused ? 0 : -1}\n data-row-key={rowKey}\n data-column-id={columnId}\n data-editing={isEditing || undefined}\n >\n {showValidationIndicator && (\n <Tooltip content={cellValidation.errors?.join(', ')} appendTo=\"window\">\n <span data-hook=\"validation-indicator\">\n <StatusWarningFilledSmall className={classes.validationIndicator} />\n </span>\n </Tooltip>\n )}\n {EditWrapper ? (\n <EditWrapper\n typeConfig={column.typeConfig}\n columnId={columnId}\n rowKey={rowKey}\n >\n {cellContent}\n </EditWrapper>\n ) : (\n cellContent\n )}\n </div>\n );\n}\n\nexport const EditableCell = observer(_EditableCell);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAEA,IAAAK,uBAAA,GAAAL,OAAA;AAAkE,IAAAM,YAAA;AAAA,SAAAP,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AASlE,SAASkB,aAAaA,CAA0B;EAC9CC,KAAK;EACLC,MAAM;EACNC;AACuB,CAAC,EAAE;EAAA,IAAAC,qBAAA;EAC1B,MAAM;IAAEC,eAAe;IAAEC;EAAU,CAAC,GAAGL,KAAK;EAC5C,MAAMM,OAAO,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EACnD,MAAMC,YAAY,GAAG,IAAAD,aAAM,EAAY,CAAC;EAExC,MAAME,MAAM,GAAGT,KAAK,CAACU,UAAU,CAAClB,GAAG,CAACU,QAAQ,CAAC;EAC7C,MAAMS,SAAS,GAAGX,KAAK,CAACY,aAAa,CAACX,MAAM,CAAC;EAC7C,MAAMY,QAAQ,GAAGJ,MAAM,GAAGT,KAAK,CAACc,yBAAyB,CAACL,MAAM,CAACM,EAAE,CAAC,GAAG,IAAI;EAC3E,MAAMC,KAAK,GAAGhB,KAAK,CAACiB,mBAAmB,CAAChB,MAAM,EAAEC,QAAQ,CAAC;EACzD,MAAMgB,cAAc,GAAGlB,KAAK,CAACmB,iBAAiB,CAAClB,MAAM,EAAEC,QAAQ,CAAC;EAEhE,MAAMkB,SAAS,GAAGhB,eAAe,CAACiB,aAAa,CAACpB,MAAM,EAAEC,QAAQ,CAAC;EACjE,MAAMoB,SAAS,GAAGlB,eAAe,CAACmB,aAAa,CAACtB,MAAM,EAAEC,QAAQ,CAAC;EACjE,MAAMsB,UAAU,GAAGpB,eAAe,CAACqB,cAAc,CAACxB,MAAM,EAAEC,QAAQ,CAAC;EACnE,MAAMwB,gBAAgB,GAAGtB,eAAe,CAACsB,gBAAgB;EACzD,MAAMC,WAAW,GAAGvB,eAAe,CAACuB,WAAW,CAAC1B,MAAM,CAAC;EACvD,MAAM2B,eAAe,GAAGxB,eAAe,CAACyB,kBAAkB,CAAC5B,MAAM,EAAEC,QAAQ,CAAC;EAC5E,MAAM4B,YAAY,GAAGzB,SAAS,CAAC0B,eAAe,CAAC9B,MAAM,EAAEC,QAAQ,CAAC;EAChE,MAAM8B,UAAU,GAAGhC,KAAK,CAACiC,cAAc,CAAChC,MAAM,EAAEC,QAAQ,CAAC;EAEzD,MAAMgC,WAAW,GAAG,IAAAC,kBAAW,EAC5BvD,CAAmB,IAAK;IACvBA,CAAC,CAACwD,eAAe,CAAC,CAAC;IACnBpC,KAAK,CAACqC,eAAe,CAACpC,MAAM,EAAEC,QAAQ,EAAEtB,CAAC,CAAC0D,QAAQ,CAAC;EACrD,CAAC,EACD,CAACtC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAC1B,CAAC;EAED,MAAMqC,iBAAiB,GAAG,IAAAJ,kBAAW,EAClCvD,CAAmB,IAAK;IACvBA,CAAC,CAACwD,eAAe,CAAC,CAAC;IACnBxD,CAAC,CAAC4D,cAAc,CAAC,CAAC;IAClBxC,KAAK,CAACyC,qBAAqB,CAACxC,MAAM,EAAEC,QAAQ,CAAC;EAC/C,CAAC,EACD,CAACF,KAAK,EAAEC,MAAM,EAAEC,QAAQ,CAC1B,CAAC;;EAED;EACA;EACA;EACA,MAAMwC,YAAY,GAAG,IAAAP,kBAAW,EAC7BQ,QAAa,IAAK;IACjB,IAAI,CAACvC,eAAe,CAACkB,SAAS,EAAE;MAC9BlB,eAAe,CAACwC,SAAS,CAAC3C,MAAM,EAAEC,QAAQ,EAAE,OAAO,CAAC;IACtD;IACAE,eAAe,CAACyC,eAAe,CAACF,QAAQ,CAAC;EAC3C,CAAC,EACD,CAACvC,eAAe,EAAEH,MAAM,EAAEC,QAAQ,CACpC,CAAC;EAED,MAAM4C,YAAY,GAAG,IAAAX,kBAAW,EAC9B,MAAM/B,eAAe,CAAC2C,UAAU,CAAC,CAAC,EAClC,CAAC3C,eAAe,CAClB,CAAC;EAED,MAAM4C,YAAY,GAAG,IAAAb,kBAAW,EAC9B,MAAM/B,eAAe,CAAC6C,UAAU,CAAC,CAAC,EAClC,CAAC7C,eAAe,CAClB,CAAC;EAED,MAAM8C,eAAe,GAAG,IAAAf,kBAAW,EAAC,MAAM;IACxC,IAAI,CAAC/B,eAAe,CAACkB,SAAS,EAAE;MAC9BlB,eAAe,CAACwC,SAAS,CAAC3C,MAAM,EAAEC,QAAQ,CAAC;IAC7C;EACF,CAAC,EAAE,CAACE,eAAe,EAAEH,MAAM,EAAEC,QAAQ,CAAC,CAAC;EAEvC,MAAMiD,YAAY,GAAG,IAAAC,8CAAsB,EAAC;IAC1CpD,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRI,OAAO;IACPE;EACF,CAAC,CAAC;EAEF,IAAI,CAACC,MAAM,IAAI,CAACE,SAAS,IAAI,CAACE,QAAQ,EAAE;IACtC,OAAO,IAAI;EACb;EAEA,MAAM;IAAEwC,aAAa;IAAEC;EAAc,CAAC,GAAGzC,QAAQ;EACjD,MAAM0C,uBAAuB,GAAG,CAACrC,cAAc,CAACsC,KAAK,IAAI,CAAClC,SAAS;EAEnE,MAAMmC,QAAQ,GACZ,CAACnC,SAAS,IACPF,SAAS,IACRY,UAAU,IACV,CAAChC,KAAK,CAAC0D,kBAAkB,KACxB,CAAC,CAAC7C,QAAQ,CAAC8C,WAAW,IAAI,CAAC,CAAC9C,QAAQ,CAAC+C,mBAAmB,CAAE,KAC/DN,aAAa;EAEf,MAAMO,WAAW,GAAGJ,QAAQ,gBAC1BtF,MAAA,CAAAmB,OAAA,CAAAwE,aAAA,CAACR,aAAa;IACZtC,KAAK,EACHZ,eAAe,CAAC2D,YAAY,KAAKC,SAAS,GACtC5D,eAAe,CAAC2D,YAAY,GAC5B/C,KACL;IACDiD,QAAQ,EAAEvB,YAAa;IACvBwB,QAAQ,EAAEpB,YAAa;IACvBqB,QAAQ,EAAEnB,YAAa;IACvBoB,WAAW,EAAElB,eAAgB;IAC7BmB,QAAQ,EAAE7D,YAAa;IACvB8D,UAAU,EAAE7D,MAAM,CAAC6D,UAAW;IAC9BC,WAAW,EAAEnE,eAAe,CAACmE,WAAY;IACzCC,UAAU,EAAE/D,MAAM,CAAC+D,UAAW;IAC9BtE,QAAQ,EAAEA,QAAS;IACnBD,MAAM,EAAEA,MAAO;IAAAwE,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,CAChB,CAAC,gBAEF1G,MAAA,CAAAmB,OAAA,CAAAwE,aAAA,CAACT,aAAa;IACZrC,KAAK,EAAEA,KAAM;IACbsD,UAAU,EAAE7D,MAAM,CAAC6D,UAAW;IAC9BE,UAAU,EAAE/D,MAAM,CAAC+D,UAAW;IAC9BtE,QAAQ,EAAEA,QAAS;IACnBD,MAAM,EAAEA,MAAO;IAAAwE,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,CAChB,CACF;;EAED;EACA;EACA,MAAMC,WAAW,GAAGjE,QAAQ,CAACiE,WAAW;EAExC,oBACE3G,MAAA,CAAAmB,OAAA,CAAAwE,aAAA;IACEiB,GAAG,EAAEzE,OAAQ;IACb0E,SAAS,EAAE,IAAAC,qBAAE,EAACC,0BAAO,CAACC,IAAI,EAAE;MAC1BC,OAAO,EAAE9D,SAAS;MAClB+D,OAAO,EAAEjE,SAAS;MAClBkE,SAAS,EAAE3D,WAAW;MACtB4D,aAAa,EAAE/D,UAAU,IAAIE,gBAAgB;MAC7C8D,OAAO,EAAE,CAACtE,cAAc,CAACsC,KAAK;MAC9BI,mBAAmB,EAAE,CAAC,CAAC/C,QAAQ,CAAC+C,mBAAmB;MACnD6B,QAAQ,EAAE,CAAC,CAAC5E,QAAQ,CAAC4E,QAAQ;MAC7BC,YAAY,EAAEhE,gBAAgB,IAAIE,eAAe,CAAC+D,GAAG;MACrDC,eAAe,EAAElE,gBAAgB,IAAIE,eAAe,CAACiE,MAAM;MAC3DC,aAAa,EAAEpE,gBAAgB,IAAIE,eAAe,CAACmE,IAAI;MACvDC,cAAc,EAAEtE,gBAAgB,IAAIE,eAAe,CAACqE,KAAK;MACzDC,SAAS,EAAEpE,YAAY,CAAC6D,GAAG;MAC3BQ,YAAY,EAAErE,YAAY,CAAC+D,MAAM;MACjCO,UAAU,EAAEtE,YAAY,CAACiE,IAAI;MAC7BM,WAAW,EAAEvE,YAAY,CAACmE;IAC5B,CAAC,CAAE;IACHK,OAAO,EAAEpE,WAAY;IACrBqE,aAAa,EAAEhE,iBAAkB;IACjCiE,SAAS,EAAErD,YAAY,CAACqD,SAAU;IAClCC,IAAI,EAAC,UAAU;IACf,iBAAejF,UAAW;IAC1B,iBAAe,CAACQ,UAAW;IAC3B,gBAAc,CAACd,cAAc,CAACsC,KAAK,IAAIQ,SAAU;IACjD0C,QAAQ,EAAEtF,SAAS,GAAG,CAAC,GAAG,CAAC,CAAE;IAC7B,gBAAcnB,MAAO;IACrB,kBAAgBC,QAAS;IACzB,gBAAcoB,SAAS,IAAI0C,SAAU;IAAAS,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEpCtB,uBAAuB,iBACtBpF,MAAA,CAAAmB,OAAA,CAAAwE,aAAA,CAACvF,aAAA,CAAAoI,OAAO;IAACC,OAAO,GAAAzG,qBAAA,GAAEe,cAAc,CAAC2F,MAAM,qBAArB1G,qBAAA,CAAuB2G,IAAI,CAAC,IAAI,CAAE;IAACC,QAAQ,EAAC,QAAQ;IAAAtC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACpE1G,MAAA,CAAAmB,OAAA,CAAAwE,aAAA;IAAM,aAAU,sBAAsB;IAAAW,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACpC1G,MAAA,CAAAmB,OAAA,CAAAwE,aAAA,CAACtF,KAAA,CAAAwI,wBAAwB;IAAChC,SAAS,EAAEE,0BAAO,CAAC+B,mBAAoB;IAAAxC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC/D,CACC,CACV,EACAC,WAAW,gBACV3G,MAAA,CAAAmB,OAAA,CAAAwE,aAAA,CAACgB,WAAW;IACVR,UAAU,EAAE7D,MAAM,CAAC6D,UAAW;IAC9BpE,QAAQ,EAAEA,QAAS;IACnBD,MAAM,EAAEA,MAAO;IAAAwE,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAhG,YAAA;MAAAiG,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEdhB,WACU,CAAC,GAEdA,WAEC,CAAC;AAEV;AAEO,MAAMqD,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,IAAAE,uBAAQ,EAACrH,aAAa,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_designSystem","_EditableCellStCss","_useCellFocusAndEditing","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_EditableCell","state","rowKey","columnId","_cellValidation$error","cellInteraction","clipboard","cellRef","useRef","editInputRef","column","_columnMap","keyedItem","_getKeyedItem","resolved","resolveCellTypeByColumnId","id","value","getCellDisplayValue","cellValidation","getCellValidation","isFocused","isCellFocused","isEditing","isCellEditing","isSelected","isCellSelected","isRangeSelection","isRowActive","selectionBorder","getSelectionBorder","copiedBorder","getCopiedBorder","isEditable","isCellEditable","handleClick","useCallback","stopPropagation","handleCellClick","shiftKey","handleDoubleClick","preventDefault","handleCellDoubleClick","handleChange","newValue","startEdit","setEditingValue","handleCommit","commitEdit","handleCancel","cancelEdit","handleStartEdit","cellKeyboard","useCellFocusAndEditing","ViewComponent","EditComponent","showErrorMessage","valid","showEdit","updateItemDisabled","toggleValue","showEditWhenFocused","cellContent","createElement","editingValue","undefined","onChange","onCommit","onCancel","onStartEdit","inputRef","typeConfig","editTrigger","validation","__self","__source","fileName","lineNumber","columnNumber","EditWrapper","Fragment","ref","className","st","classes","root","editing","focused","rowActive","rangeSelected","invalid","growable","selectionTop","top","selectionBottom","bottom","selectionLeft","left","selectionRight","right","copiedTop","copiedBottom","copiedLeft","copiedRight","onClick","onDoubleClick","onKeyDown","role","tabIndex","errorMessage","Text","size","skin","errors","join","EditableCell","exports","observer"],"sources":["../../../../src/components/EditableTable/EditableCell.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport type { FiltersMap } from '@wix/bex-core';\nimport { Text } from '@wix/design-system';\nimport { st, classes } from './EditableCell.st.css.js';\nimport type { EditableTableState } from '../../state/EditableTable';\nimport { useCellFocusAndEditing } from './useCellFocusAndEditing';\nimport { Focusable } from './types';\n\nexport interface EditableCellProps<T, F extends FiltersMap> {\n state: EditableTableState<T, F>;\n rowKey: string;\n columnId: string;\n}\n\nfunction _EditableCell<T, F extends FiltersMap>({\n state,\n rowKey,\n columnId,\n}: EditableCellProps<T, F>) {\n const { cellInteraction, clipboard } = state;\n const cellRef = useRef<HTMLDivElement | null>(null);\n const editInputRef = useRef<Focusable>();\n\n const column = state._columnMap.get(columnId);\n const keyedItem = state._getKeyedItem(rowKey);\n const resolved = column ? state.resolveCellTypeByColumnId(column.id) : null;\n const value = state.getCellDisplayValue(rowKey, columnId);\n const cellValidation = state.getCellValidation(rowKey, columnId);\n\n const isFocused = cellInteraction.isCellFocused(rowKey, columnId);\n const isEditing = cellInteraction.isCellEditing(rowKey, columnId);\n const isSelected = cellInteraction.isCellSelected(rowKey, columnId);\n const isRangeSelection = cellInteraction.isRangeSelection;\n const isRowActive = cellInteraction.isRowActive(rowKey);\n const selectionBorder = cellInteraction.getSelectionBorder(rowKey, columnId);\n const copiedBorder = clipboard.getCopiedBorder(rowKey, columnId);\n const isEditable = state.isCellEditable(rowKey, columnId);\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n state.handleCellClick(rowKey, columnId, e.shiftKey);\n },\n [state, rowKey, columnId],\n );\n\n const handleDoubleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n state.handleCellDoubleClick(rowKey, columnId);\n },\n [state, rowKey, columnId],\n );\n\n // Auto-start edit if onChange fires before explicit startEdit (e.g., onOptionMarked\n // in select). startEdit resets editingValue, so it must come before setEditingValue.\n // For production cell types, consider the per-callback withEnterEdit pattern from cms-web.\n const handleChange = useCallback(\n (newValue: any) => {\n if (!cellInteraction.isEditing) {\n cellInteraction.startEdit(rowKey, columnId, 'enter');\n }\n cellInteraction.setEditingValue(newValue);\n },\n [cellInteraction, rowKey, columnId],\n );\n\n const handleCommit = useCallback(\n () => cellInteraction.commitEdit(),\n [cellInteraction],\n );\n\n const handleCancel = useCallback(\n () => cellInteraction.cancelEdit(),\n [cellInteraction],\n );\n\n const handleStartEdit = useCallback(() => {\n if (!cellInteraction.isEditing) {\n cellInteraction.startEdit(rowKey, columnId);\n }\n }, [cellInteraction, rowKey, columnId]);\n\n const cellKeyboard = useCellFocusAndEditing({\n state,\n rowKey,\n columnId,\n cellRef,\n editInputRef,\n });\n\n if (!column || !keyedItem || !resolved) {\n return null;\n }\n\n const { ViewComponent, EditComponent } = resolved;\n const showErrorMessage = !cellValidation.valid && (isFocused || isEditing);\n\n const showEdit =\n (isEditing ||\n (isFocused &&\n isEditable &&\n !state.updateItemDisabled &&\n (!!resolved.toggleValue || !!resolved.showEditWhenFocused))) &&\n EditComponent;\n\n const cellContent = showEdit ? (\n <EditComponent\n value={\n cellInteraction.editingValue !== undefined\n ? cellInteraction.editingValue\n : value\n }\n onChange={handleChange}\n onCommit={handleCommit}\n onCancel={handleCancel}\n onStartEdit={handleStartEdit}\n inputRef={editInputRef}\n typeConfig={column.typeConfig}\n editTrigger={cellInteraction.editTrigger}\n validation={column.validation}\n columnId={columnId}\n rowKey={rowKey}\n />\n ) : (\n <ViewComponent\n value={value}\n typeConfig={column.typeConfig}\n validation={column.validation}\n columnId={columnId}\n rowKey={rowKey}\n />\n );\n\n // The cell type's EditWrapper (if any) stays mounted across the edit↔view\n // swap, so it can own behavior that must outlive the inline editor.\n const EditWrapper = resolved.EditWrapper;\n\n return (\n <>\n <div\n ref={cellRef}\n className={st(classes.root, {\n editing: isEditing,\n focused: isFocused,\n rowActive: isRowActive,\n rangeSelected: isSelected && isRangeSelection,\n invalid: !cellValidation.valid,\n showEditWhenFocused: !!resolved.showEditWhenFocused,\n growable: !!resolved.growable,\n selectionTop: isRangeSelection && selectionBorder.top,\n selectionBottom: isRangeSelection && selectionBorder.bottom,\n selectionLeft: isRangeSelection && selectionBorder.left,\n selectionRight: isRangeSelection && selectionBorder.right,\n copiedTop: copiedBorder.top,\n copiedBottom: copiedBorder.bottom,\n copiedLeft: copiedBorder.left,\n copiedRight: copiedBorder.right,\n })}\n onClick={handleClick}\n onDoubleClick={handleDoubleClick}\n onKeyDown={cellKeyboard.onKeyDown}\n role=\"gridcell\"\n aria-selected={isSelected}\n aria-readonly={!isEditable}\n aria-invalid={!cellValidation.valid || undefined}\n tabIndex={isFocused ? 0 : -1}\n data-row-key={rowKey}\n data-column-id={columnId}\n data-editing={isEditing || undefined}\n >\n {EditWrapper ? (\n <EditWrapper\n typeConfig={column.typeConfig}\n columnId={columnId}\n rowKey={rowKey}\n >\n {cellContent}\n </EditWrapper>\n ) : (\n cellContent\n )}\n </div>\n {showErrorMessage && (\n <div\n className={classes.errorMessage}\n data-hook=\"cell-error-message\"\n data-row-key={rowKey}\n data-column-id={columnId}\n >\n <Text size=\"small\" skin=\"error\">\n {cellValidation.errors?.join(', ')}\n </Text>\n </div>\n )}\n </>\n );\n}\n\nexport const EditableCell = observer(_EditableCell);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
@property st-global(--wds-color-fill-surface-raised);
|
|
2
2
|
@property st-global(--wds-color-border-dark-secondary);
|
|
3
3
|
@property st-global(--wds-color-black-750);
|
|
4
|
+
@property st-global(--wds-color-red-100);
|
|
5
|
+
@property st-global(--wds-color-fill-surface-overlay);
|
|
4
6
|
@property st-global(--wds-input-border-color-hover);
|
|
5
7
|
@property st-global(--wds-input-border-color-focus);
|
|
6
8
|
@property st-global(--wds-border-width-default);
|
|
9
|
+
@property st-global(--wds-border-radius-400);
|
|
10
|
+
@property st-global(--wds-popover-fill);
|
|
11
|
+
@property st-global(--wds-popover-border-radius);
|
|
12
|
+
@property st-global(--wds-shadow-surface-overlay);
|
|
7
13
|
@property st-global(--wsr-color-B10);
|
|
8
14
|
@property st-global(--wsr-color-B40);
|
|
9
15
|
@property st-global(--wsr-color-D60);
|
|
10
16
|
@property st-global(--wsr-color-D80);
|
|
11
|
-
@property st-global(--wsr-color-
|
|
17
|
+
@property st-global(--wsr-color-R10);
|
|
12
18
|
|
|
13
19
|
:global(td):has(> .root) {
|
|
14
20
|
position: relative;
|
|
@@ -143,8 +149,12 @@
|
|
|
143
149
|
border-right: 2px solid var(--wsr-color-B10);
|
|
144
150
|
}
|
|
145
151
|
|
|
146
|
-
.
|
|
147
|
-
|
|
152
|
+
/* Each selector carries one state more than the blue hover/focus rule it beats. */
|
|
153
|
+
.root:invalid,
|
|
154
|
+
.root:invalid:rowActive:hover:not(:focused):not(:rangeSelected),
|
|
155
|
+
.root:invalid:focused:not(:rangeSelected),
|
|
156
|
+
.root:invalid:has([data-inner-focused]) {
|
|
157
|
+
border-color: var(--wds-color-red-100, var(--wsr-color-R10, #e62214));
|
|
148
158
|
}
|
|
149
159
|
|
|
150
160
|
.root:copiedTop:not(:selectionTop) {
|
|
@@ -160,9 +170,32 @@
|
|
|
160
170
|
border-right: 2px dashed var(--wsr-color-B10);
|
|
161
171
|
}
|
|
162
172
|
|
|
163
|
-
.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
173
|
+
.root:invalid:not(:focused):not(:editing) {
|
|
174
|
+
z-index: 1;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.errorMessage {
|
|
178
|
+
position: absolute;
|
|
179
|
+
top: calc(100% + 4px);
|
|
180
|
+
left: -1px;
|
|
181
|
+
z-index: 4;
|
|
182
|
+
box-sizing: border-box;
|
|
183
|
+
width: max-content;
|
|
184
|
+
max-width: 240px;
|
|
185
|
+
padding: 6px 8px;
|
|
186
|
+
/* Passive message — never swallow a click meant for the row below. */
|
|
187
|
+
pointer-events: none;
|
|
188
|
+
border-radius: var(
|
|
189
|
+
--wds-popover-border-radius,
|
|
190
|
+
var(--wds-border-radius-400, 8px)
|
|
191
|
+
);
|
|
192
|
+
background: var(
|
|
193
|
+
--wds-popover-fill,
|
|
194
|
+
var(--wds-color-fill-surface-overlay, var(--wsr-color-D80, #ffffff))
|
|
195
|
+
);
|
|
196
|
+
box-shadow: var(
|
|
197
|
+
--wds-shadow-surface-overlay,
|
|
198
|
+
0 0 18px rgba(0, 6, 36, 0.1),
|
|
199
|
+
0 6px 6px rgba(0, 6, 36, 0.05)
|
|
200
|
+
);
|
|
168
201
|
}
|
|
@@ -5,15 +5,15 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "EditableCell2536807493";
|
|
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": "
|
|
16
|
-
"
|
|
15
|
+
"root": "EditableCell2536807493__root",
|
|
16
|
+
"errorMessage": "EditableCell2536807493__errorMessage"
|
|
17
17
|
};
|
|
18
18
|
var keyframes = exports.keyframes = {};
|
|
19
19
|
var layers = exports.layers = {};
|
|
@@ -23,13 +23,19 @@ var vars = exports.vars = {
|
|
|
23
23
|
"wds-color-fill-surface-raised": "--wds-color-fill-surface-raised",
|
|
24
24
|
"wds-color-border-dark-secondary": "--wds-color-border-dark-secondary",
|
|
25
25
|
"wds-color-black-750": "--wds-color-black-750",
|
|
26
|
+
"wds-color-red-100": "--wds-color-red-100",
|
|
27
|
+
"wds-color-fill-surface-overlay": "--wds-color-fill-surface-overlay",
|
|
26
28
|
"wds-input-border-color-hover": "--wds-input-border-color-hover",
|
|
27
29
|
"wds-input-border-color-focus": "--wds-input-border-color-focus",
|
|
28
30
|
"wds-border-width-default": "--wds-border-width-default",
|
|
31
|
+
"wds-border-radius-400": "--wds-border-radius-400",
|
|
32
|
+
"wds-popover-fill": "--wds-popover-fill",
|
|
33
|
+
"wds-popover-border-radius": "--wds-popover-border-radius",
|
|
34
|
+
"wds-shadow-surface-overlay": "--wds-shadow-surface-overlay",
|
|
29
35
|
"wsr-color-B10": "--wsr-color-B10",
|
|
30
36
|
"wsr-color-B40": "--wsr-color-B40",
|
|
31
37
|
"wsr-color-D60": "--wsr-color-D60",
|
|
32
38
|
"wsr-color-D80": "--wsr-color-D80",
|
|
33
|
-
"wsr-color-
|
|
39
|
+
"wsr-color-R10": "--wsr-color-R10"
|
|
34
40
|
};
|
|
35
41
|
//# sourceMappingURL=EditableCell.st.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/EditableTable/EditableCell.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/components/EditableTable/EditableCell.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"EditableCell2536807493\";\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\":\"EditableCell2536807493__root\",\"errorMessage\":\"EditableCell2536807493__errorMessage\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-fill-surface-raised\":\"--wds-color-fill-surface-raised\",\"wds-color-border-dark-secondary\":\"--wds-color-border-dark-secondary\",\"wds-color-black-750\":\"--wds-color-black-750\",\"wds-color-red-100\":\"--wds-color-red-100\",\"wds-color-fill-surface-overlay\":\"--wds-color-fill-surface-overlay\",\"wds-input-border-color-hover\":\"--wds-input-border-color-hover\",\"wds-input-border-color-focus\":\"--wds-input-border-color-focus\",\"wds-border-width-default\":\"--wds-border-width-default\",\"wds-border-radius-400\":\"--wds-border-radius-400\",\"wds-popover-fill\":\"--wds-popover-fill\",\"wds-popover-border-radius\":\"--wds-popover-border-radius\",\"wds-shadow-surface-overlay\":\"--wds-shadow-surface-overlay\",\"wsr-color-B10\":\"--wsr-color-B10\",\"wsr-color-B40\":\"--wsr-color-B40\",\"wsr-color-D60\":\"--wsr-color-D60\",\"wsr-color-D80\":\"--wsr-color-D80\",\"wsr-color-R10\":\"--wsr-color-R10\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,wBAAwB;AAC1C,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,8BAA8B;EAAC,cAAc,EAAC;AAAsC,CAAC;AAC3G,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,+BAA+B,EAAC,iCAAiC;EAAC,iCAAiC,EAAC,mCAAmC;EAAC,qBAAqB,EAAC,uBAAuB;EAAC,mBAAmB,EAAC,qBAAqB;EAAC,gCAAgC,EAAC,kCAAkC;EAAC,8BAA8B,EAAC,gCAAgC;EAAC,8BAA8B,EAAC,gCAAgC;EAAC,0BAA0B,EAAC,4BAA4B;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,kBAAkB,EAAC,oBAAoB;EAAC,2BAA2B,EAAC,6BAA6B;EAAC,4BAA4B,EAAC,8BAA8B;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
|
|
@@ -48,8 +48,14 @@ function EditableCellUniDriver(base, body) {
|
|
|
48
48
|
getRowKey: () => base.attr('data-row-key'),
|
|
49
49
|
/** Get the column id from data attribute */
|
|
50
50
|
getColumnId: () => base.attr('data-column-id'),
|
|
51
|
-
/**
|
|
52
|
-
|
|
51
|
+
/** Error message shown under the cell while it's focused/editing (null when hidden).
|
|
52
|
+
* It renders next to the cell, not inside it, so it's queried from the body. */
|
|
53
|
+
getErrorMessage: async () => {
|
|
54
|
+
const rowKey = await base.attr('data-row-key');
|
|
55
|
+
const columnId = await base.attr('data-column-id');
|
|
56
|
+
const message = body.$(`[data-hook="cell-error-message"][data-row-key="${rowKey}"][data-column-id="${columnId}"]`);
|
|
57
|
+
return (await message.exists()) ? message.text() : null;
|
|
58
|
+
},
|
|
53
59
|
/** Get the text cell edit driver (for text columns) */
|
|
54
60
|
getTextEdit: () => (0, _EditUni.TextEditUniDriver)(base, body),
|
|
55
61
|
/** Get the number cell edit driver (for number columns) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_unidriver","require","_EditUni","_EditUni2","_EditUni3","_EditUni4","_SpecificValuesEditUni","_EditUni5","_EditUni6","EditableCellUniDriver","base","body","baseUniDriverFactory","click","doubleClick","el","getNative","isSled2","elementHandle","unwrap","clickCount","isSled3","locator","dblclick","dispatchEvent","MouseEvent","bubbles","getDisplayValue","text","isFocused","attr","isEditing","isSelected","isReadOnly","isInvalid","getRowKey","getColumnId","hasValidationIndicator","$","exists","getTextEdit","TextEditUniDriver","getNumberEdit","NumberEditUniDriver","getUrlEdit","UrlEditUniDriver","getBooleanEdit","BooleanEditUniDriver","getSpecificValuesEdit","SpecificValuesEditUniDriver","getDateEdit","DateEditUniDriver","getReferenceEdit","ReferenceEditUniDriver","rightClick","button","rect","getBoundingClientRect","clientX","left","clientY","top","getBoundingBox","boundingBox","pressKey","key","opts","press","KeyboardEvent"],"sources":["../../../../src/components/EditableTable/EditableCell.uni.driver.ts"],"sourcesContent":["import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';\nimport { baseUniDriverFactory, isSled2, isSled3 } from '../../unidriver';\nimport { TextEditUniDriver } from './cellTypes/text/Edit.uni.driver';\nimport { NumberEditUniDriver } from './cellTypes/number/Edit.uni.driver';\nimport { UrlEditUniDriver } from './cellTypes/url/Edit.uni.driver';\nimport { BooleanEditUniDriver } from './cellTypes/boolean/Edit.uni.driver';\nimport { SpecificValuesEditUniDriver } from './cellTypes/text/SpecificValuesEdit.uni.driver';\nimport { DateEditUniDriver } from './cellTypes/date/Edit.uni.driver';\nimport { ReferenceEditUniDriver } from './cellTypes/reference/Edit.uni.driver';\n\nexport function EditableCellUniDriver(base: UniDriver, body: UniDriver) {\n return {\n ...baseUniDriverFactory(base),\n\n /** Click the cell (focuses it) */\n click: () => base.click(),\n\n /** Double-click the cell (starts editing). UniDriver has no doubleClick, so dispatch native event. */\n doubleClick: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n await elementHandle.click({ clickCount: 2 });\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.dblclick();\n } else {\n el.dispatchEvent(new MouseEvent('dblclick', { bubbles: true }));\n }\n },\n\n /** Get the displayed text value of the cell */\n getDisplayValue: () => base.text(),\n\n /** Whether this cell is focused */\n isFocused: async () => (await base.attr('tabindex')) === '0',\n\n /** Whether this cell is in editing mode */\n isEditing: async () => (await base.attr('data-editing')) === 'true',\n\n /** Whether this cell is selected (part of a selection range) */\n isSelected: async () => (await base.attr('aria-selected')) === 'true',\n\n /** Whether this cell is read-only (not editable) */\n isReadOnly: async () => (await base.attr('aria-readonly')) === 'true',\n\n /** Whether this cell has a validation error */\n isInvalid: async () => (await base.attr('aria-invalid')) === 'true',\n\n /** Get the row key from data attribute */\n getRowKey: () => base.attr('data-row-key'),\n\n /** Get the column id from data attribute */\n getColumnId: () => base.attr('data-column-id'),\n\n /** Whether the cell contains a validation indicator icon */\n hasValidationIndicator: () =>\n base.$('[data-hook=\"validation-indicator\"]').exists(),\n\n /** Get the text cell edit driver (for text columns) */\n getTextEdit: () => TextEditUniDriver(base, body),\n\n /** Get the number cell edit driver (for number columns) */\n getNumberEdit: () => NumberEditUniDriver(base, body),\n\n /** Get the url cell edit driver (for url columns) */\n getUrlEdit: () => UrlEditUniDriver(base, body),\n\n /** Get the boolean cell edit driver (for boolean columns) */\n getBooleanEdit: () => BooleanEditUniDriver(base, body),\n\n /** Get the specific-values (autocomplete) edit driver (for text columns with specificValues validation) */\n getSpecificValuesEdit: () => SpecificValuesEditUniDriver(base, body),\n\n /** Get the date cell edit driver (for date columns) */\n getDateEdit: () => DateEditUniDriver(base, body),\n\n /** Get the reference cell edit driver (for reference columns) */\n getReferenceEdit: () => ReferenceEditUniDriver(base, body),\n\n /** Right-click the cell (opens context menu) */\n rightClick: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n // Puppeteer — unwrap to get the actual ElementHandle\n const elementHandle = await base.unwrap();\n await elementHandle.click({ button: 'right' });\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.click({ button: 'right' });\n } else {\n // jsdom HTMLElement\n const rect = el.getBoundingClientRect();\n el.dispatchEvent(\n new MouseEvent('contextmenu', {\n bubbles: true,\n clientX: rect.left + 5,\n clientY: rect.top + 5,\n }),\n );\n }\n },\n\n /** Get the bounding box of the cell — returns {x, y, width, height} across all envs */\n getBoundingBox: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n return elementHandle.boundingBox();\n }\n if (isSled3(el)) {\n const locator = await base.unwrap();\n return locator.boundingBox();\n }\n return el.getBoundingClientRect();\n },\n\n /** Press a key on the cell (native dispatch — useCellFocusAndEditing uses native addEventListener) */\n pressKey: async (key: string, opts?: Partial<KeyboardEventInit>) => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n await elementHandle.press(key);\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.press(key);\n } else {\n el.dispatchEvent(\n new KeyboardEvent('keydown', { key, bubbles: true, ...opts }),\n );\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_unidriver","require","_EditUni","_EditUni2","_EditUni3","_EditUni4","_SpecificValuesEditUni","_EditUni5","_EditUni6","EditableCellUniDriver","base","body","baseUniDriverFactory","click","doubleClick","el","getNative","isSled2","elementHandle","unwrap","clickCount","isSled3","locator","dblclick","dispatchEvent","MouseEvent","bubbles","getDisplayValue","text","isFocused","attr","isEditing","isSelected","isReadOnly","isInvalid","getRowKey","getColumnId","getErrorMessage","rowKey","columnId","message","$","exists","getTextEdit","TextEditUniDriver","getNumberEdit","NumberEditUniDriver","getUrlEdit","UrlEditUniDriver","getBooleanEdit","BooleanEditUniDriver","getSpecificValuesEdit","SpecificValuesEditUniDriver","getDateEdit","DateEditUniDriver","getReferenceEdit","ReferenceEditUniDriver","rightClick","button","rect","getBoundingClientRect","clientX","left","clientY","top","getBoundingBox","boundingBox","pressKey","key","opts","press","KeyboardEvent"],"sources":["../../../../src/components/EditableTable/EditableCell.uni.driver.ts"],"sourcesContent":["import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';\nimport { baseUniDriverFactory, isSled2, isSled3 } from '../../unidriver';\nimport { TextEditUniDriver } from './cellTypes/text/Edit.uni.driver';\nimport { NumberEditUniDriver } from './cellTypes/number/Edit.uni.driver';\nimport { UrlEditUniDriver } from './cellTypes/url/Edit.uni.driver';\nimport { BooleanEditUniDriver } from './cellTypes/boolean/Edit.uni.driver';\nimport { SpecificValuesEditUniDriver } from './cellTypes/text/SpecificValuesEdit.uni.driver';\nimport { DateEditUniDriver } from './cellTypes/date/Edit.uni.driver';\nimport { ReferenceEditUniDriver } from './cellTypes/reference/Edit.uni.driver';\n\nexport function EditableCellUniDriver(base: UniDriver, body: UniDriver) {\n return {\n ...baseUniDriverFactory(base),\n\n /** Click the cell (focuses it) */\n click: () => base.click(),\n\n /** Double-click the cell (starts editing). UniDriver has no doubleClick, so dispatch native event. */\n doubleClick: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n await elementHandle.click({ clickCount: 2 });\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.dblclick();\n } else {\n el.dispatchEvent(new MouseEvent('dblclick', { bubbles: true }));\n }\n },\n\n /** Get the displayed text value of the cell */\n getDisplayValue: () => base.text(),\n\n /** Whether this cell is focused */\n isFocused: async () => (await base.attr('tabindex')) === '0',\n\n /** Whether this cell is in editing mode */\n isEditing: async () => (await base.attr('data-editing')) === 'true',\n\n /** Whether this cell is selected (part of a selection range) */\n isSelected: async () => (await base.attr('aria-selected')) === 'true',\n\n /** Whether this cell is read-only (not editable) */\n isReadOnly: async () => (await base.attr('aria-readonly')) === 'true',\n\n /** Whether this cell has a validation error */\n isInvalid: async () => (await base.attr('aria-invalid')) === 'true',\n\n /** Get the row key from data attribute */\n getRowKey: () => base.attr('data-row-key'),\n\n /** Get the column id from data attribute */\n getColumnId: () => base.attr('data-column-id'),\n\n /** Error message shown under the cell while it's focused/editing (null when hidden).\n * It renders next to the cell, not inside it, so it's queried from the body. */\n getErrorMessage: async () => {\n const rowKey = await base.attr('data-row-key');\n const columnId = await base.attr('data-column-id');\n const message = body.$(\n `[data-hook=\"cell-error-message\"][data-row-key=\"${rowKey}\"][data-column-id=\"${columnId}\"]`,\n );\n return (await message.exists()) ? message.text() : null;\n },\n\n /** Get the text cell edit driver (for text columns) */\n getTextEdit: () => TextEditUniDriver(base, body),\n\n /** Get the number cell edit driver (for number columns) */\n getNumberEdit: () => NumberEditUniDriver(base, body),\n\n /** Get the url cell edit driver (for url columns) */\n getUrlEdit: () => UrlEditUniDriver(base, body),\n\n /** Get the boolean cell edit driver (for boolean columns) */\n getBooleanEdit: () => BooleanEditUniDriver(base, body),\n\n /** Get the specific-values (autocomplete) edit driver (for text columns with specificValues validation) */\n getSpecificValuesEdit: () => SpecificValuesEditUniDriver(base, body),\n\n /** Get the date cell edit driver (for date columns) */\n getDateEdit: () => DateEditUniDriver(base, body),\n\n /** Get the reference cell edit driver (for reference columns) */\n getReferenceEdit: () => ReferenceEditUniDriver(base, body),\n\n /** Right-click the cell (opens context menu) */\n rightClick: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n // Puppeteer — unwrap to get the actual ElementHandle\n const elementHandle = await base.unwrap();\n await elementHandle.click({ button: 'right' });\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.click({ button: 'right' });\n } else {\n // jsdom HTMLElement\n const rect = el.getBoundingClientRect();\n el.dispatchEvent(\n new MouseEvent('contextmenu', {\n bubbles: true,\n clientX: rect.left + 5,\n clientY: rect.top + 5,\n }),\n );\n }\n },\n\n /** Get the bounding box of the cell — returns {x, y, width, height} across all envs */\n getBoundingBox: async () => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n return elementHandle.boundingBox();\n }\n if (isSled3(el)) {\n const locator = await base.unwrap();\n return locator.boundingBox();\n }\n return el.getBoundingClientRect();\n },\n\n /** Press a key on the cell (native dispatch — useCellFocusAndEditing uses native addEventListener) */\n pressKey: async (key: string, opts?: Partial<KeyboardEventInit>) => {\n const el = await base.getNative();\n if (isSled2(el)) {\n const elementHandle = await base.unwrap();\n await elementHandle.press(key);\n } else if (isSled3(el)) {\n const locator = await base.unwrap();\n await locator.press(key);\n } else {\n el.dispatchEvent(\n new KeyboardEvent('keydown', { key, bubbles: true, ...opts }),\n );\n }\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,18 +64,23 @@ function _EditableTable(props) {
|
|
|
64
64
|
__self: this,
|
|
65
65
|
__source: {
|
|
66
66
|
fileName: _jsxFileName,
|
|
67
|
-
lineNumber:
|
|
67
|
+
lineNumber: 106,
|
|
68
68
|
columnNumber: 13
|
|
69
69
|
}
|
|
70
70
|
}) : null;
|
|
71
71
|
}
|
|
72
72
|
})), [editableColumns, state, builtInActions]);
|
|
73
73
|
const contextMenu = (0, _useEditableTableContextMenu.useEditableTableContextMenu)(state.cellInteraction);
|
|
74
|
+
const invalidCellKeys = new Set(state.cellValue._pendingCells.keys());
|
|
75
|
+
const hasInvalidRows = invalidCellKeys.size > 0;
|
|
76
|
+
const rowStatus = row => state.allColumns.some(col => invalidCellKeys.has(`${row.key}:${col.id}`)) ? {
|
|
77
|
+
messages: ['This row has invalid cells']
|
|
78
|
+
} : null;
|
|
74
79
|
return /*#__PURE__*/_react.default.createElement(_PatternsFieldsProvider.PatternsFieldsProvider, {
|
|
75
80
|
__self: this,
|
|
76
81
|
__source: {
|
|
77
82
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
83
|
+
lineNumber: 123,
|
|
79
84
|
columnNumber: 5
|
|
80
85
|
}
|
|
81
86
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -90,7 +95,7 @@ function _EditableTable(props) {
|
|
|
90
95
|
__self: this,
|
|
91
96
|
__source: {
|
|
92
97
|
fileName: _jsxFileName,
|
|
93
|
-
lineNumber:
|
|
98
|
+
lineNumber: 124,
|
|
94
99
|
columnNumber: 7
|
|
95
100
|
}
|
|
96
101
|
}, /*#__PURE__*/_react.default.createElement(_TableVirtual.TableVirtual, (0, _extends2.default)({}, tableBaseProps, {
|
|
@@ -100,11 +105,14 @@ function _EditableTable(props) {
|
|
|
100
105
|
horizontalScroll: true,
|
|
101
106
|
showSelection: true,
|
|
102
107
|
showRowNumbers: true,
|
|
103
|
-
showAddFieldButton: true
|
|
108
|
+
showAddFieldButton: true
|
|
109
|
+
}, hasInvalidRows ? {
|
|
110
|
+
rowStatus
|
|
111
|
+
} : {}, {
|
|
104
112
|
__self: this,
|
|
105
113
|
__source: {
|
|
106
114
|
fileName: _jsxFileName,
|
|
107
|
-
lineNumber:
|
|
115
|
+
lineNumber: 134,
|
|
108
116
|
columnNumber: 9
|
|
109
117
|
}
|
|
110
118
|
}), showAddItemRow && /*#__PURE__*/_react.default.createElement(_AddItemRow.AddItemRow, {
|
|
@@ -112,7 +120,7 @@ function _EditableTable(props) {
|
|
|
112
120
|
__self: this,
|
|
113
121
|
__source: {
|
|
114
122
|
fileName: _jsxFileName,
|
|
115
|
-
lineNumber:
|
|
123
|
+
lineNumber: 145,
|
|
116
124
|
columnNumber: 30
|
|
117
125
|
}
|
|
118
126
|
}))), /*#__PURE__*/_react.default.createElement(_EditableTableContextMenu.EditableTableContextMenu, {
|
|
@@ -124,7 +132,7 @@ function _EditableTable(props) {
|
|
|
124
132
|
__self: this,
|
|
125
133
|
__source: {
|
|
126
134
|
fileName: _jsxFileName,
|
|
127
|
-
lineNumber:
|
|
135
|
+
lineNumber: 148,
|
|
128
136
|
columnNumber: 7
|
|
129
137
|
}
|
|
130
138
|
}), state.deleteConfirmModal.value && /*#__PURE__*/_react.default.createElement(_ActionModal.MessageActionModal, (0, _extends2.default)({
|
|
@@ -133,7 +141,7 @@ function _EditableTable(props) {
|
|
|
133
141
|
__self: this,
|
|
134
142
|
__source: {
|
|
135
143
|
fileName: _jsxFileName,
|
|
136
|
-
lineNumber:
|
|
144
|
+
lineNumber: 156,
|
|
137
145
|
columnNumber: 9
|
|
138
146
|
}
|
|
139
147
|
})), state.toolbar.collectionFieldsSource && /*#__PURE__*/_react.default.createElement(_FieldManagementModals.FieldManagementModals, {
|
|
@@ -141,14 +149,14 @@ function _EditableTable(props) {
|
|
|
141
149
|
__self: this,
|
|
142
150
|
__source: {
|
|
143
151
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
152
|
+
lineNumber: 162,
|
|
145
153
|
columnNumber: 9
|
|
146
154
|
}
|
|
147
155
|
}), children, /*#__PURE__*/_react.default.createElement(_patternsFields.GlobalAudioPlayer, {
|
|
148
156
|
__self: this,
|
|
149
157
|
__source: {
|
|
150
158
|
fileName: _jsxFileName,
|
|
151
|
-
lineNumber:
|
|
159
|
+
lineNumber: 165,
|
|
152
160
|
columnNumber: 7
|
|
153
161
|
}
|
|
154
162
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_patternsFields","_PatternsFieldsProvider","_TableVirtual","_EditableCell","_EditableTableContextMenu","_useEditableTableContextMenu","_ActionModal","_FieldManagementModals","_useEditableTableCollectionSyncProps","_useKeyboardNavigation","_useClipboardHandler","_useClearFocusOnBlur","_useMouseSweepSelection","_AddItemRow","_useAddRow","_useHeaderActions","_version","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_EditableTable","props","state","columns","fieldsSource","_fieldsSource","hideHeaderActions","dataHook","children","tableBaseProps","useEditableTableCollectionSyncProps","editableColumns","useMemo","sourceColumns","containerRef","useRef","keyboard","useKeyboardNavigation","useClipboardHandler","onFocus","onBlur","useClearFocusOnBlur","cellInteraction","useMouseSweepSelection","builtInActions","useHeaderActions","showAddItemRow","handleAddItem","useAddRow","tableColumns","map","col","name","title","id","titleSuffix","render","_item","rowNum","_state$keyedItems$row","rowKey","keyedItems","key","createElement","EditableCell","columnId","__self","__source","fileName","lineNumber","columnNumber","contextMenu","useEditableTableContextMenu","PatternsFieldsProvider","ref","cairoVersion","tabIndex","onKeyDown","onContextMenu","handleContextMenu","TableVirtual","_extends2","tableState","forceResize","horizontalScroll","showSelection","showRowNumbers","showAddFieldButton","AddItemRow","onAdd","EditableTableContextMenu","position","cell","menuRef","onClose","handleClose","deleteConfirmModal","value","MessageActionModal","toolbar","collectionFieldsSource","FieldManagementModals","source","GlobalAudioPlayer","EditableTable","exports","observer"],"sources":["../../../../src/components/EditableTable/EditableTable.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { GlobalAudioPlayer } from '@wix/patterns-fields';\nimport { PatternsFieldsProvider } from '../../providers/PatternsFieldsProvider';\nimport type { FiltersMap, OptionalFiltersMap } from '@wix/bex-core';\nimport type { FieldsSourceProvider } from '../fieldsSourceProvider';\nimport { TableVirtual, type TableVirtualProps } from '../Table/TableVirtual';\nimport {\n type EditableColumn,\n EditableTableState,\n} from '../../state/EditableTable';\nimport { EditableCell } from './EditableCell';\nimport { EditableTableContextMenu } from './EditableTableContextMenu';\nimport { useEditableTableContextMenu } from './useEditableTableContextMenu';\nimport { MessageActionModal } from '../ActionModal';\nimport { FieldManagementModals } from '../CustomFieldsPanel/FieldManagementModals';\nimport { useEditableTableCollectionSyncProps } from './useEditableTableCollectionSyncProps';\nimport { useKeyboardNavigation } from './useKeyboardNavigation';\nimport { useClipboardHandler } from './useClipboardHandler';\nimport { useClearFocusOnBlur } from './useClearFocusOnBlur';\nimport { useMouseSweepSelection } from './useMouseSweepSelection';\nimport { AddItemRow } from './AddItemRow';\nimport { useAddRow } from './useAddRow';\nimport type { TableColumn } from '../../model';\nimport { useHeaderActions } from './useHeaderActions';\nimport { version as cairoVersion } from '../../version';\n\nexport interface EditableTableProps<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> extends Omit<\n TableVirtualProps<T, F>,\n | 'columns'\n | 'state'\n | 'onRowClick'\n | 'forceResize'\n | 'horizontalScroll'\n | 'showSelection'\n | 'showRowNumbers'\n | 'showAddFieldButton'\n > {\n /** EditableTableState instance, created via useEditableTableCollection */\n state: EditableTableState<T, F>;\n\n /** Column definitions with cell types. When a `fieldsSource` is wired, its\n * columns are added by the state, so pass `[]` for source-only tables. */\n columns: EditableColumn<T>[];\n\n /** A fields source (e.g. `dataExtensionTableSource(...)`) whose fields become\n * columns and whose field management wires into the table. Schema sources\n * attach via the `@wix/patterns/schema` collection hooks instead. */\n fieldsSource?: FieldsSourceProvider;\n\n /** When true, hides the built-in header actions popover for all columns. */\n hideHeaderActions?: boolean;\n\n /** data-hook for testkit selectors */\n dataHook?: string;\n}\n\nfunction _EditableTable<T, F extends FiltersMap = OptionalFiltersMap>(\n props: EditableTableProps<T, F>,\n) {\n const {\n state,\n columns,\n fieldsSource: _fieldsSource,\n hideHeaderActions,\n dataHook,\n children,\n ...tableBaseProps\n } = props;\n\n useEditableTableCollectionSyncProps(props);\n\n const editableColumns = useMemo(\n () => [...columns, ...state.sourceColumns],\n [columns, state.sourceColumns],\n );\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const keyboard = useKeyboardNavigation(state);\n useClipboardHandler(state, containerRef);\n const { onFocus, onBlur } = useClearFocusOnBlur(state.cellInteraction);\n useMouseSweepSelection(state, containerRef);\n\n const builtInActions = useHeaderActions(\n state,\n editableColumns,\n hideHeaderActions,\n );\n\n const { showAddItemRow, handleAddItem } = useAddRow(state);\n\n const tableColumns = useMemo(\n () =>\n editableColumns.map((col) => ({\n ...col,\n name: col.name ?? (typeof col.title === 'string' ? col.title : col.id),\n titleSuffix: builtInActions[col.id],\n render: (_item: T, rowNum: number) => {\n const rowKey = state.keyedItems[rowNum]?.key;\n return rowKey ? (\n <EditableCell state={state} rowKey={rowKey} columnId={col.id} />\n ) : null;\n },\n })) as TableColumn<T>[],\n [editableColumns, state, builtInActions],\n );\n\n const contextMenu = useEditableTableContextMenu(state.cellInteraction);\n\n return (\n <PatternsFieldsProvider>\n <div\n ref={containerRef}\n data-hook={dataHook}\n data-wix-patterns={cairoVersion}\n tabIndex={0}\n onKeyDown={keyboard.onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n onContextMenu={contextMenu.handleContextMenu}\n >\n <TableVirtual\n {...tableBaseProps}\n state={state.tableState}\n columns={tableColumns}\n forceResize\n horizontalScroll\n showSelection\n showRowNumbers\n showAddFieldButton\n >\n {showAddItemRow && <AddItemRow onAdd={handleAddItem} />}\n </TableVirtual>\n </div>\n <EditableTableContextMenu\n state={state}\n position={contextMenu.position}\n cell={contextMenu.cell}\n menuRef={contextMenu.menuRef}\n onClose={contextMenu.handleClose}\n />\n {state.deleteConfirmModal.value && (\n <MessageActionModal\n state={state.deleteConfirmModal}\n {...state.deleteConfirmModal.value}\n />\n )}\n {state.toolbar.collectionFieldsSource && (\n <FieldManagementModals source={state.toolbar.collectionFieldsSource} />\n )}\n {children}\n <GlobalAudioPlayer />\n </PatternsFieldsProvider>\n );\n}\n\nexport const EditableTable = observer(_EditableTable);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_patternsFields","_PatternsFieldsProvider","_TableVirtual","_EditableCell","_EditableTableContextMenu","_useEditableTableContextMenu","_ActionModal","_FieldManagementModals","_useEditableTableCollectionSyncProps","_useKeyboardNavigation","_useClipboardHandler","_useClearFocusOnBlur","_useMouseSweepSelection","_AddItemRow","_useAddRow","_useHeaderActions","_version","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_EditableTable","props","state","columns","fieldsSource","_fieldsSource","hideHeaderActions","dataHook","children","tableBaseProps","useEditableTableCollectionSyncProps","editableColumns","useMemo","sourceColumns","containerRef","useRef","keyboard","useKeyboardNavigation","useClipboardHandler","onFocus","onBlur","useClearFocusOnBlur","cellInteraction","useMouseSweepSelection","builtInActions","useHeaderActions","showAddItemRow","handleAddItem","useAddRow","tableColumns","map","col","name","title","id","titleSuffix","render","_item","rowNum","_state$keyedItems$row","rowKey","keyedItems","key","createElement","EditableCell","columnId","__self","__source","fileName","lineNumber","columnNumber","contextMenu","useEditableTableContextMenu","invalidCellKeys","Set","cellValue","_pendingCells","keys","hasInvalidRows","size","rowStatus","row","allColumns","some","messages","PatternsFieldsProvider","ref","cairoVersion","tabIndex","onKeyDown","onContextMenu","handleContextMenu","TableVirtual","_extends2","tableState","forceResize","horizontalScroll","showSelection","showRowNumbers","showAddFieldButton","AddItemRow","onAdd","EditableTableContextMenu","position","cell","menuRef","onClose","handleClose","deleteConfirmModal","value","MessageActionModal","toolbar","collectionFieldsSource","FieldManagementModals","source","GlobalAudioPlayer","EditableTable","exports","observer"],"sources":["../../../../src/components/EditableTable/EditableTable.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { GlobalAudioPlayer } from '@wix/patterns-fields';\nimport { PatternsFieldsProvider } from '../../providers/PatternsFieldsProvider';\nimport type { FiltersMap, OptionalFiltersMap } from '@wix/bex-core';\nimport type { FieldsSourceProvider } from '../fieldsSourceProvider';\nimport { TableVirtual, type TableVirtualProps } from '../Table/TableVirtual';\nimport {\n type EditableColumn,\n EditableTableState,\n} from '../../state/EditableTable';\nimport { EditableCell } from './EditableCell';\nimport { EditableTableContextMenu } from './EditableTableContextMenu';\nimport { useEditableTableContextMenu } from './useEditableTableContextMenu';\nimport { MessageActionModal } from '../ActionModal';\nimport { FieldManagementModals } from '../CustomFieldsPanel/FieldManagementModals';\nimport { useEditableTableCollectionSyncProps } from './useEditableTableCollectionSyncProps';\nimport { useKeyboardNavigation } from './useKeyboardNavigation';\nimport { useClipboardHandler } from './useClipboardHandler';\nimport { useClearFocusOnBlur } from './useClearFocusOnBlur';\nimport { useMouseSweepSelection } from './useMouseSweepSelection';\nimport { AddItemRow } from './AddItemRow';\nimport { useAddRow } from './useAddRow';\nimport type { TableColumn } from '../../model';\nimport { useHeaderActions } from './useHeaderActions';\nimport { version as cairoVersion } from '../../version';\n\nexport interface EditableTableProps<\n T,\n F extends FiltersMap = OptionalFiltersMap,\n> extends Omit<\n TableVirtualProps<T, F>,\n | 'columns'\n | 'state'\n | 'onRowClick'\n | 'forceResize'\n | 'horizontalScroll'\n | 'showSelection'\n | 'showRowNumbers'\n | 'showAddFieldButton'\n | 'rowStatus'\n > {\n /** EditableTableState instance, created via useEditableTableCollection */\n state: EditableTableState<T, F>;\n\n /** Column definitions with cell types. When a `fieldsSource` is wired, its\n * columns are added by the state, so pass `[]` for source-only tables. */\n columns: EditableColumn<T>[];\n\n /** A fields source (e.g. `dataExtensionTableSource(...)`) whose fields become\n * columns and whose field management wires into the table. Schema sources\n * attach via the `@wix/patterns/schema` collection hooks instead. */\n fieldsSource?: FieldsSourceProvider;\n\n /** When true, hides the built-in header actions popover for all columns. */\n hideHeaderActions?: boolean;\n\n /** data-hook for testkit selectors */\n dataHook?: string;\n}\n\nfunction _EditableTable<T, F extends FiltersMap = OptionalFiltersMap>(\n props: EditableTableProps<T, F>,\n) {\n const {\n state,\n columns,\n fieldsSource: _fieldsSource,\n hideHeaderActions,\n dataHook,\n children,\n ...tableBaseProps\n } = props;\n\n useEditableTableCollectionSyncProps(props);\n\n const editableColumns = useMemo(\n () => [...columns, ...state.sourceColumns],\n [columns, state.sourceColumns],\n );\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const keyboard = useKeyboardNavigation(state);\n useClipboardHandler(state, containerRef);\n const { onFocus, onBlur } = useClearFocusOnBlur(state.cellInteraction);\n useMouseSweepSelection(state, containerRef);\n\n const builtInActions = useHeaderActions(\n state,\n editableColumns,\n hideHeaderActions,\n );\n\n const { showAddItemRow, handleAddItem } = useAddRow(state);\n\n const tableColumns = useMemo(\n () =>\n editableColumns.map((col) => ({\n ...col,\n name: col.name ?? (typeof col.title === 'string' ? col.title : col.id),\n titleSuffix: builtInActions[col.id],\n render: (_item: T, rowNum: number) => {\n const rowKey = state.keyedItems[rowNum]?.key;\n return rowKey ? (\n <EditableCell state={state} rowKey={rowKey} columnId={col.id} />\n ) : null;\n },\n })) as TableColumn<T>[],\n [editableColumns, state, builtInActions],\n );\n\n const contextMenu = useEditableTableContextMenu(state.cellInteraction);\n\n const invalidCellKeys = new Set(state.cellValue._pendingCells.keys());\n const hasInvalidRows = invalidCellKeys.size > 0;\n const rowStatus: NonNullable<TableVirtualProps<T, F>['rowStatus']> = (row) =>\n state.allColumns.some((col) => invalidCellKeys.has(`${row.key}:${col.id}`))\n ? { messages: ['This row has invalid cells'] }\n : null;\n\n return (\n <PatternsFieldsProvider>\n <div\n ref={containerRef}\n data-hook={dataHook}\n data-wix-patterns={cairoVersion}\n tabIndex={0}\n onKeyDown={keyboard.onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n onContextMenu={contextMenu.handleContextMenu}\n >\n <TableVirtual\n {...tableBaseProps}\n state={state.tableState}\n columns={tableColumns}\n forceResize\n horizontalScroll\n showSelection\n showRowNumbers\n showAddFieldButton\n {...(hasInvalidRows ? { rowStatus } : {})}\n >\n {showAddItemRow && <AddItemRow onAdd={handleAddItem} />}\n </TableVirtual>\n </div>\n <EditableTableContextMenu\n state={state}\n position={contextMenu.position}\n cell={contextMenu.cell}\n menuRef={contextMenu.menuRef}\n onClose={contextMenu.handleClose}\n />\n {state.deleteConfirmModal.value && (\n <MessageActionModal\n state={state.deleteConfirmModal}\n {...state.deleteConfirmModal.value}\n />\n )}\n {state.toolbar.collectionFieldsSource && (\n <FieldManagementModals source={state.toolbar.collectionFieldsSource} />\n )}\n {children}\n <GlobalAudioPlayer />\n </PatternsFieldsProvider>\n );\n}\n\nexport const EditableTable = observer(_EditableTable);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,6 +36,8 @@ function EditableTableUniDriver(base, body) {
|
|
|
36
36
|
},
|
|
37
37
|
/** Total number of gridcells rendered */
|
|
38
38
|
getCellsCount: () => getCells().count(),
|
|
39
|
+
/** Whether the row shows the error indicator in its status slot */
|
|
40
|
+
hasRowError: rowKey => base.$(`[data-hook="table-row-${rowKey}"] [data-hook="row-status-indicator"]`).exists(),
|
|
39
41
|
/** Wait for at least one data row to render */
|
|
40
42
|
waitForRow: timeout => getRows().get(0).wait(timeout),
|
|
41
43
|
/** Get the header actions driver for a column (portaled to body) */
|