@wix/patterns 1.364.0 → 1.366.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/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 +148 -0
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableCell.st.css +68 -0
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +28 -0
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +93 -0
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableTable.js +93 -0
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +81 -0
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +227 -0
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js +27 -0
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.js +53 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js +24 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.js +40 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/index.js +29 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.js +100 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.js +39 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/index.js +45 -0
- package/dist/cjs/components/EditableTable/cellTypes/date/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/index.js +19 -0
- package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +52 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.js +24 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css +5 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/index.js +39 -0
- package/dist/cjs/components/EditableTable/cellTypes/number/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js +85 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js +22 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/index.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/select/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js +90 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +24 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.uni.driver.js +21 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.js +24 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/index.js +24 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.js +62 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.uni.driver.js +20 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.js +51 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css +22 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +25 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.uni.driver.js +17 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/index.js +31 -0
- package/dist/cjs/components/EditableTable/cellTypes/url/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/index.js +17 -0
- package/dist/cjs/components/EditableTable/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/types.js +9 -0
- package/dist/cjs/components/EditableTable/types.js.map +1 -0
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +83 -0
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -0
- package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js +34 -0
- package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js.map +1 -0
- package/dist/cjs/components/EditableTable/useClipboardHandler.js +71 -0
- package/dist/cjs/components/EditableTable/useClipboardHandler.js.map +1 -0
- package/dist/cjs/components/EditableTable/useEditableTableCollectionSyncProps.js +13 -0
- package/dist/cjs/components/EditableTable/useEditableTableCollectionSyncProps.js.map +1 -0
- package/dist/cjs/components/EditableTable/useEditableTableContextMenu.js +96 -0
- package/dist/cjs/components/EditableTable/useEditableTableContextMenu.js.map +1 -0
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +92 -0
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.js.map +1 -0
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.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/Suggestions/Suggestions.js +20 -19
- package/dist/cjs/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js +2 -2
- package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
- package/dist/cjs/components/Suggestions/types.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/hooks/useEditableTableCollection.js +24 -0
- package/dist/cjs/hooks/useEditableTableCollection.js.map +1 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellInteractionState.js +282 -0
- package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -0
- package/dist/cjs/state/EditableTable/CellValueState.js +263 -0
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -0
- package/dist/cjs/state/EditableTable/ClipboardState.js +198 -0
- package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -0
- package/dist/cjs/state/EditableTable/EditableTableState.js +171 -0
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -0
- package/dist/cjs/state/EditableTable/MutationState.js +115 -0
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -0
- package/dist/cjs/state/EditableTable/index.js +7 -0
- package/dist/cjs/state/EditableTable/index.js.map +1 -0
- package/dist/cjs/state/EditableTable/types.js +4 -0
- package/dist/cjs/state/EditableTable/types.js.map +1 -0
- package/dist/cjs/state/EditableTable/utils.js +71 -0
- package/dist/cjs/state/EditableTable/utils.js.map +1 -0
- 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/styles.global.css +1 -1
- package/dist/cjs/testkit/jsdom.js +3 -1
- package/dist/cjs/testkit/jsdom.js.map +1 -1
- package/dist/cjs/testkit/playwright.js +3 -1
- package/dist/cjs/testkit/playwright.js.map +1 -1
- package/dist/cjs/testkit/puppeteer.js +3 -1
- package/dist/cjs/testkit/puppeteer.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/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/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +67 -0
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableCell.st.css +68 -0
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +15 -0
- package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +79 -0
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableTable.js +34 -0
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +67 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +160 -0
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js +23 -0
- package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js +23 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js +16 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.js +7 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/index.js +26 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js +54 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.js +20 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/date/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/date/index.js +40 -0
- package/dist/esm/components/EditableTable/cellTypes/date/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/index.js +17 -0
- package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +23 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.js +5 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css +5 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/number/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/number/index.js +30 -0
- package/dist/esm/components/EditableTable/cellTypes/number/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.js +38 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.js +10 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/select/index.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/select/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.js +48 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.uni.driver.js +14 -0
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.js +5 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/index.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/text/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.js +26 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.js +7 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css +22 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.uni.driver.js +13 -0
- package/dist/esm/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/index.js +22 -0
- package/dist/esm/components/EditableTable/cellTypes/url/index.js.map +1 -0
- package/dist/esm/components/EditableTable/index.js +3 -0
- package/dist/esm/components/EditableTable/index.js.map +1 -0
- package/dist/esm/components/EditableTable/types.js +5 -0
- package/dist/esm/components/EditableTable/types.js.map +1 -0
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +80 -0
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -0
- package/dist/esm/components/EditableTable/useClearFocusOnBlur.js +27 -0
- package/dist/esm/components/EditableTable/useClearFocusOnBlur.js.map +1 -0
- package/dist/esm/components/EditableTable/useClipboardHandler.js +61 -0
- package/dist/esm/components/EditableTable/useClipboardHandler.js.map +1 -0
- package/dist/esm/components/EditableTable/useEditableTableCollectionSyncProps.js +6 -0
- package/dist/esm/components/EditableTable/useEditableTableCollectionSyncProps.js.map +1 -0
- package/dist/esm/components/EditableTable/useEditableTableContextMenu.js +80 -0
- package/dist/esm/components/EditableTable/useEditableTableContextMenu.js.map +1 -0
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js +83 -0
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -0
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- 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/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.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/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/Suggestions/Suggestions.js +7 -5
- package/dist/esm/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Suggestions/Suggestions.uni.driver.js +3 -3
- package/dist/esm/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- 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/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useEditableTableCollection.js +19 -0
- package/dist/esm/hooks/useEditableTableCollection.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/EditableTable/CellInteractionState.js +236 -0
- package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -0
- package/dist/esm/state/EditableTable/CellValueState.js +219 -0
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -0
- package/dist/esm/state/EditableTable/ClipboardState.js +186 -0
- package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -0
- package/dist/esm/state/EditableTable/EditableTableState.js +148 -0
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -0
- package/dist/esm/state/EditableTable/MutationState.js +82 -0
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -0
- package/dist/esm/state/EditableTable/index.js +2 -0
- package/dist/esm/state/EditableTable/index.js.map +1 -0
- package/dist/esm/state/EditableTable/types.js +2 -0
- package/dist/esm/state/EditableTable/types.js.map +1 -0
- package/dist/esm/state/EditableTable/utils.js +55 -0
- package/dist/esm/state/EditableTable/utils.js.map +1 -0
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/testkit/jsdom.js +2 -0
- package/dist/esm/testkit/jsdom.js.map +1 -1
- package/dist/esm/testkit/playwright.js +2 -0
- package/dist/esm/testkit/playwright.js.map +1 -1
- package/dist/esm/testkit/puppeteer.js +2 -0
- package/dist/esm/testkit/puppeteer.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
- 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/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
- package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/EditableTable/EditableCell.d.ts +14 -0
- package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +19 -0
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +161 -0
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableTable.d.ts +18 -0
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +324 -0
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts +19 -0
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts +8 -0
- package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.uni.driver.d.ts +18 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/date/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/date/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/date/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/date/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +11 -0
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/number/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/number/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/number/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/number/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/select/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/select/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/select/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.uni.driver.d.ts +23 -0
- package/dist/types/components/EditableTable/cellTypes/text/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/text/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.uni.driver.d.ts +22 -0
- package/dist/types/components/EditableTable/cellTypes/url/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.d.ts +4 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts +16 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.uni.driver.d.ts +18 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/url/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/index.d.ts +3 -0
- package/dist/types/components/EditableTable/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/types.d.ts +35 -0
- package/dist/types/components/EditableTable/types.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts +15 -0
- package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts +10 -0
- package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useClipboardHandler.d.ts +5 -0
- package/dist/types/components/EditableTable/useClipboardHandler.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useEditableTableCollectionSyncProps.d.ts +4 -0
- package/dist/types/components/EditableTable/useEditableTableCollectionSyncProps.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useEditableTableContextMenu.d.ts +15 -0
- package/dist/types/components/EditableTable/useEditableTableContextMenu.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts +6 -0
- package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
- package/dist/types/components/Heading/Heading.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/Kanban/Kanban.uni.driver.d.ts +11 -11
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Suggestions/Suggestions.d.ts.map +1 -1
- package/dist/types/components/Suggestions/Suggestions.uni.driver.d.ts +1 -1
- package/dist/types/components/Suggestions/types.d.ts +2 -2
- package/dist/types/components/Suggestions/types.d.ts.map +1 -1
- package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
- package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useEditableTableCollection.d.ts +12 -0
- package/dist/types/hooks/useEditableTableCollection.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellInteractionState.d.ts +37 -0
- package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts +53 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -0
- package/dist/types/state/EditableTable/ClipboardState.d.ts +33 -0
- package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -0
- package/dist/types/state/EditableTable/EditableTableState.d.ts +79 -0
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -0
- package/dist/types/state/EditableTable/MutationState.d.ts +24 -0
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -0
- package/dist/types/state/EditableTable/index.d.ts +5 -0
- package/dist/types/state/EditableTable/index.d.ts.map +1 -0
- package/dist/types/state/EditableTable/types.d.ts +98 -0
- package/dist/types/state/EditableTable/types.d.ts.map +1 -0
- package/dist/types/state/EditableTable/utils.d.ts +7 -0
- package/dist/types/state/EditableTable/utils.d.ts.map +1 -0
- package/dist/types/testkit/enzyme.d.ts +195 -195
- package/dist/types/testkit/jsdom.d.ts +516 -208
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +507 -195
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +518 -206
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +5 -5
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/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 +68 -0
- package/src/components/EditableTable/EditableCell.st.css.ts +25 -0
- package/src/components/EditableTable/EditableCell.tsx +140 -0
- package/src/components/EditableTable/EditableCell.uni.driver.ts +102 -0
- package/src/components/EditableTable/EditableTable.tsx +97 -0
- package/src/components/EditableTable/EditableTable.uni.driver.ts +98 -0
- package/src/components/EditableTable/EditableTableContextMenu.tsx +235 -0
- package/src/components/EditableTable/EditableTableContextMenu.uni.driver.ts +37 -0
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css +5 -0
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/boolean/Edit.tsx +41 -0
- package/src/components/EditableTable/cellTypes/boolean/Edit.uni.driver.ts +29 -0
- package/src/components/EditableTable/cellTypes/boolean/View.st.css +6 -0
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/boolean/View.tsx +15 -0
- package/src/components/EditableTable/cellTypes/boolean/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/boolean/index.ts +29 -0
- package/src/components/EditableTable/cellTypes/date/Edit.st.css +4 -0
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/date/Edit.tsx +88 -0
- package/src/components/EditableTable/cellTypes/date/Edit.uni.driver.ts +18 -0
- package/src/components/EditableTable/cellTypes/date/View.st.css +4 -0
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/date/View.tsx +29 -0
- package/src/components/EditableTable/cellTypes/date/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/date/index.ts +41 -0
- package/src/components/EditableTable/cellTypes/index.ts +26 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css +9 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/number/Edit.tsx +47 -0
- package/src/components/EditableTable/cellTypes/number/Edit.uni.driver.ts +22 -0
- package/src/components/EditableTable/cellTypes/number/View.st.css +5 -0
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/number/View.tsx +12 -0
- package/src/components/EditableTable/cellTypes/number/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/number/index.ts +32 -0
- package/src/components/EditableTable/cellTypes/select/Edit.st.css +3 -0
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/select/Edit.tsx +77 -0
- package/src/components/EditableTable/cellTypes/select/Edit.uni.driver.ts +24 -0
- package/src/components/EditableTable/cellTypes/select/View.st.css +4 -0
- package/src/components/EditableTable/cellTypes/select/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/select/View.tsx +19 -0
- package/src/components/EditableTable/cellTypes/select/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/select/index.ts +16 -0
- package/src/components/EditableTable/cellTypes/text/Edit.st.css +33 -0
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/text/Edit.tsx +82 -0
- package/src/components/EditableTable/cellTypes/text/Edit.uni.driver.ts +23 -0
- package/src/components/EditableTable/cellTypes/text/View.st.css +4 -0
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/text/View.tsx +10 -0
- package/src/components/EditableTable/cellTypes/text/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/text/index.ts +16 -0
- package/src/components/EditableTable/cellTypes/url/Edit.st.css +4 -0
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/url/Edit.tsx +53 -0
- package/src/components/EditableTable/cellTypes/url/Edit.uni.driver.ts +23 -0
- package/src/components/EditableTable/cellTypes/url/View.st.css +22 -0
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/url/View.tsx +28 -0
- package/src/components/EditableTable/cellTypes/url/View.uni.driver.ts +18 -0
- package/src/components/EditableTable/cellTypes/url/index.ts +24 -0
- package/src/components/EditableTable/index.ts +2 -0
- package/src/components/EditableTable/types.ts +34 -0
- package/src/components/EditableTable/useCellFocusAndEditing.ts +109 -0
- package/src/components/EditableTable/useClearFocusOnBlur.ts +40 -0
- package/src/components/EditableTable/useClipboardHandler.ts +85 -0
- package/src/components/EditableTable/useEditableTableCollectionSyncProps.ts +11 -0
- package/src/components/EditableTable/useEditableTableContextMenu.ts +107 -0
- package/src/components/EditableTable/useKeyboardNavigation.ts +91 -0
- 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/ScrollableContent/ScrollableContent.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/Suggestions/Suggestions.tsx +12 -10
- package/src/components/Suggestions/Suggestions.uni.driver.ts +3 -3
- package/src/components/Suggestions/types.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/hooks/useEditableTableCollection.ts +54 -0
- package/src/index.ts +3 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellInteractionState.ts +290 -0
- package/src/state/EditableTable/CellValueState.ts +274 -0
- package/src/state/EditableTable/ClipboardState.ts +250 -0
- package/src/state/EditableTable/EditableTableState.ts +246 -0
- package/src/state/EditableTable/MutationState.ts +118 -0
- package/src/state/EditableTable/index.ts +16 -0
- package/src/state/EditableTable/types.ts +108 -0
- package/src/state/EditableTable/utils.ts +73 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/styles.global.css +1 -1
- package/src/testkit/jsdom.ts +5 -0
- package/src/testkit/playwright.ts +5 -0
- package/src/testkit/puppeteer.ts +5 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Text } from '@wix/design-system';
|
|
3
|
+
import type { CellViewProps } from '../../types';
|
|
4
|
+
import { classes } from './View.st.css.js';
|
|
5
|
+
|
|
6
|
+
export const TextView: React.FC<CellViewProps<string>> = ({ value }) => (
|
|
7
|
+
<Text size="small" ellipsis className={classes.textView}>
|
|
8
|
+
{value ?? ''}
|
|
9
|
+
</Text>
|
|
10
|
+
);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import { baseUniDriverFactory } from '../../../../unidriver';
|
|
3
|
+
|
|
4
|
+
export function TextViewUniDriver(base: UniDriver, _body: UniDriver) {
|
|
5
|
+
return {
|
|
6
|
+
...baseUniDriverFactory(base),
|
|
7
|
+
getValue: () => base.text(),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineCellType } from '../../types';
|
|
2
|
+
import { TextView } from './View';
|
|
3
|
+
import { TextEdit } from './Edit';
|
|
4
|
+
|
|
5
|
+
export { TextView, TextEdit };
|
|
6
|
+
|
|
7
|
+
export const textCellType = defineCellType<string>({
|
|
8
|
+
type: 'text',
|
|
9
|
+
ViewComponent: TextView,
|
|
10
|
+
EditComponent: TextEdit,
|
|
11
|
+
serialize: (value) => value ?? '',
|
|
12
|
+
deserialize: (raw) => raw,
|
|
13
|
+
editable: true,
|
|
14
|
+
clearable: true,
|
|
15
|
+
onTypeToEdit: ({ key }) => ({ value: key }),
|
|
16
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _namespace_ = "Edit4061833648";
|
|
9
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
|
+
|
|
11
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
12
|
+
export var style = _style_;
|
|
13
|
+
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
|
+
|
|
15
|
+
export var namespace = _namespace_;
|
|
16
|
+
export var classes = {"root":"Edit4061833648__root","urlInput":"Edit4061833648__urlInput"};
|
|
17
|
+
export var keyframes = {};
|
|
18
|
+
export var layers = {};
|
|
19
|
+
export var containers = {};
|
|
20
|
+
export var stVars = {};
|
|
21
|
+
export var vars = {};
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { Input } from '@wix/design-system';
|
|
3
|
+
import type { CellEditProps } from '../../types';
|
|
4
|
+
import { classes } from './Edit.st.css.js';
|
|
5
|
+
|
|
6
|
+
export const UrlEdit: React.FC<CellEditProps<string>> = ({
|
|
7
|
+
value,
|
|
8
|
+
onChange,
|
|
9
|
+
onCommit,
|
|
10
|
+
onCancel,
|
|
11
|
+
inputRef,
|
|
12
|
+
}) => {
|
|
13
|
+
const handleKeyDown = useCallback(
|
|
14
|
+
(e: React.KeyboardEvent) => {
|
|
15
|
+
if (e.key === 'Enter') {
|
|
16
|
+
e.preventDefault();
|
|
17
|
+
onCommit();
|
|
18
|
+
} else if (e.key === 'Escape') {
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
onCancel();
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
[onCommit, onCancel],
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
const handleBlur = useCallback(() => {
|
|
27
|
+
onCommit();
|
|
28
|
+
}, [onCommit]);
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div
|
|
32
|
+
style={{
|
|
33
|
+
width: '100%',
|
|
34
|
+
height: '100%',
|
|
35
|
+
display: 'flex',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
}}
|
|
38
|
+
>
|
|
39
|
+
<Input
|
|
40
|
+
ref={inputRef}
|
|
41
|
+
size="small"
|
|
42
|
+
border="none"
|
|
43
|
+
value={value ?? ''}
|
|
44
|
+
onChange={(e) => onChange(e.target.value)}
|
|
45
|
+
onKeyDown={handleKeyDown}
|
|
46
|
+
onBlur={handleBlur}
|
|
47
|
+
type="url"
|
|
48
|
+
autoSelect={false}
|
|
49
|
+
className={classes.urlInput}
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import { InputUniDriver } from '@wix/design-system/dist/testkit/unidriver';
|
|
3
|
+
import { InputUniDriver as InputUniDriverFactory } from '@wix/design-system/dist/types/Input/Input.uni.driver';
|
|
4
|
+
import { UniDriverFactory } from '../../../uniDriverFactory';
|
|
5
|
+
import { baseUniDriverFactory } from '../../../../unidriver';
|
|
6
|
+
|
|
7
|
+
export function UrlEditUniDriver(base: UniDriver, body: UniDriver) {
|
|
8
|
+
const input = (InputUniDriver as UniDriverFactory<InputUniDriverFactory>)(
|
|
9
|
+
base,
|
|
10
|
+
body,
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
...baseUniDriverFactory(base),
|
|
15
|
+
getValue: () => input.getValue(),
|
|
16
|
+
typeValue: (value: string) => input.enterText(value),
|
|
17
|
+
keyDown: (
|
|
18
|
+
key: string,
|
|
19
|
+
opts?: { shiftKey?: boolean; ctrlKey?: boolean; metaKey?: boolean },
|
|
20
|
+
) => input.keyDown({ key, ...opts }),
|
|
21
|
+
blur: () => input.blur(),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.textView {
|
|
2
|
+
-st-states: suffixOnHover;
|
|
3
|
+
width: 100%;
|
|
4
|
+
padding: 9px 12px;
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
justify-content: space-between;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.urlText {
|
|
11
|
+
flex: 1;
|
|
12
|
+
min-width: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.suffix {
|
|
16
|
+
flex-shrink: 0;
|
|
17
|
+
margin-left: 10px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.textView:suffixOnHover:not(:hover) .suffix {
|
|
21
|
+
display: none;
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _namespace_ = "View793386274";
|
|
9
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
|
+
|
|
11
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
12
|
+
export var style = _style_;
|
|
13
|
+
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
|
+
|
|
15
|
+
export var namespace = _namespace_;
|
|
16
|
+
export var classes = {"root":"View793386274__root","textView":"View793386274__textView","urlText":"View793386274__urlText","suffix":"View793386274__suffix"};
|
|
17
|
+
export var keyframes = {};
|
|
18
|
+
export var layers = {};
|
|
19
|
+
export var containers = {};
|
|
20
|
+
export var stVars = {};
|
|
21
|
+
export var vars = {};
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Text, TextButton } from '@wix/design-system';
|
|
3
|
+
import type { CellViewProps } from '../../types';
|
|
4
|
+
import { st, classes } from './View.st.css.js';
|
|
5
|
+
|
|
6
|
+
export const UrlView: React.FC<CellViewProps<string>> = ({ value }) => (
|
|
7
|
+
<div className={st(classes.textView, { suffixOnHover: true })}>
|
|
8
|
+
<Text size="small" ellipsis className={classes.urlText}>
|
|
9
|
+
{value ?? ''}
|
|
10
|
+
</Text>
|
|
11
|
+
{value && (
|
|
12
|
+
<TextButton
|
|
13
|
+
dataHook="open-link-button"
|
|
14
|
+
size="small"
|
|
15
|
+
underline="always"
|
|
16
|
+
as="a"
|
|
17
|
+
href={value}
|
|
18
|
+
target="_blank"
|
|
19
|
+
rel="noopener noreferrer"
|
|
20
|
+
onClick={(e: React.MouseEvent) => e.stopPropagation()}
|
|
21
|
+
onMouseDown={(e: React.MouseEvent) => e.preventDefault()}
|
|
22
|
+
className={classes.suffix}
|
|
23
|
+
>
|
|
24
|
+
Open link
|
|
25
|
+
</TextButton>
|
|
26
|
+
)}
|
|
27
|
+
</div>
|
|
28
|
+
);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import { TextButtonUniDriver } from '@wix/design-system/dist/testkit/unidriver';
|
|
3
|
+
import { baseUniDriverFactory } from '../../../../unidriver';
|
|
4
|
+
|
|
5
|
+
export function UrlViewUniDriver(base: UniDriver, body: UniDriver) {
|
|
6
|
+
const linkButton = TextButtonUniDriver(
|
|
7
|
+
base.$('[data-hook="open-link-button"]'),
|
|
8
|
+
body,
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
...baseUniDriverFactory(base),
|
|
13
|
+
getValue: () => base.text(),
|
|
14
|
+
hasOpenLinkButton: () => linkButton.exists(),
|
|
15
|
+
getLinkHref: () => linkButton.getHref(),
|
|
16
|
+
clickOpenLink: () => linkButton.click(),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { defineCellType } from '../../types';
|
|
2
|
+
import { UrlView } from './View';
|
|
3
|
+
import { UrlEdit } from './Edit';
|
|
4
|
+
|
|
5
|
+
export { UrlView, UrlEdit };
|
|
6
|
+
|
|
7
|
+
const URL_PATTERN = /^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?$/;
|
|
8
|
+
|
|
9
|
+
export const urlCellType = defineCellType<string>({
|
|
10
|
+
type: 'url',
|
|
11
|
+
ViewComponent: UrlView,
|
|
12
|
+
EditComponent: UrlEdit,
|
|
13
|
+
serialize: (value) => value ?? '',
|
|
14
|
+
deserialize: (raw) => raw,
|
|
15
|
+
validate: (value) => {
|
|
16
|
+
if (value && !URL_PATTERN.test(value)) {
|
|
17
|
+
return 'Invalid URL format';
|
|
18
|
+
}
|
|
19
|
+
return null;
|
|
20
|
+
},
|
|
21
|
+
editable: true,
|
|
22
|
+
clearable: true,
|
|
23
|
+
onTypeToEdit: ({ key }) => ({ value: key }),
|
|
24
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CellType, ValidationRule } from '../../state/EditableTable/types';
|
|
2
|
+
|
|
3
|
+
export interface CellViewProps<V> {
|
|
4
|
+
value: V;
|
|
5
|
+
typeConfig?: unknown;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface CellEditProps<V> {
|
|
9
|
+
value: V;
|
|
10
|
+
onChange: (value: V) => void;
|
|
11
|
+
onCommit: () => void;
|
|
12
|
+
onCancel: () => void;
|
|
13
|
+
/** Ref to the focusable input element. Used for type-to-edit (focusing the input when user starts typing on a focused cell). */
|
|
14
|
+
inputRef?: React.MutableRefObject<any>;
|
|
15
|
+
typeConfig?: unknown;
|
|
16
|
+
/** How edit mode was triggered. Edit components can use this to customize behavior (e.g., date picker auto-opens on 'type'). */
|
|
17
|
+
editTrigger?: 'type' | 'enter' | 'doubleClick' | null;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** Type-safe factory for defining cell types. V ensures all value-typed fields are consistent. */
|
|
21
|
+
export function defineCellType<V>(cellType: {
|
|
22
|
+
type: CellType['type'];
|
|
23
|
+
ViewComponent: React.ComponentType<CellViewProps<V>>;
|
|
24
|
+
EditComponent?: React.ComponentType<CellEditProps<V>>;
|
|
25
|
+
serialize?: (value: V) => string;
|
|
26
|
+
deserialize?: (raw: string) => V;
|
|
27
|
+
validate?: (value: V, rules?: ValidationRule[]) => string | null;
|
|
28
|
+
editable?: boolean;
|
|
29
|
+
clearable?: boolean;
|
|
30
|
+
toggleValue?: (value: V) => V;
|
|
31
|
+
onTypeToEdit?: (params: { key: string }) => { value?: V } | undefined;
|
|
32
|
+
}): CellType {
|
|
33
|
+
return cellType;
|
|
34
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { useEffect, useCallback, useMemo } from 'react';
|
|
2
|
+
import type { FiltersMap } from '@wix/bex-core';
|
|
3
|
+
import type { EditableTableState } from '../../state/EditableTable';
|
|
4
|
+
|
|
5
|
+
interface UseCellFocusAndEditingParams<T, F extends FiltersMap> {
|
|
6
|
+
state: EditableTableState<T, F>;
|
|
7
|
+
rowKey: string;
|
|
8
|
+
columnId: string;
|
|
9
|
+
cellRef: React.RefObject<HTMLDivElement | null>;
|
|
10
|
+
editInputRef: React.MutableRefObject<any>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function useCellFocusAndEditing<T, F extends FiltersMap>({
|
|
14
|
+
state,
|
|
15
|
+
rowKey,
|
|
16
|
+
columnId,
|
|
17
|
+
cellRef,
|
|
18
|
+
editInputRef,
|
|
19
|
+
}: UseCellFocusAndEditingParams<T, F>) {
|
|
20
|
+
const { cellInteraction } = state;
|
|
21
|
+
const column = state._columnMap.get(columnId);
|
|
22
|
+
const resolved = column ? state.resolveCellType(column.cellType) : null;
|
|
23
|
+
const isFocused = cellInteraction.isCellFocused(rowKey, columnId);
|
|
24
|
+
const isEditing = cellInteraction.isCellEditing(rowKey, columnId);
|
|
25
|
+
const isEditable = state.isCellEditable(rowKey, columnId);
|
|
26
|
+
|
|
27
|
+
// When focused (not editing): focus the cell div so it receives keyboard events.
|
|
28
|
+
// When editing starts: focus the input (cursor at end, no select-all).
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!isFocused) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (isEditing) {
|
|
35
|
+
if (
|
|
36
|
+
editInputRef.current &&
|
|
37
|
+
document.activeElement !== editInputRef.current
|
|
38
|
+
) {
|
|
39
|
+
editInputRef.current.focus();
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
cellRef.current?.focus();
|
|
43
|
+
}
|
|
44
|
+
}, [isFocused, isEditing, cellRef, editInputRef]);
|
|
45
|
+
|
|
46
|
+
const handleActivate = useCallback(() => {
|
|
47
|
+
if (resolved?.toggleValue) {
|
|
48
|
+
state.cellValue.toggleCell(rowKey, columnId);
|
|
49
|
+
} else {
|
|
50
|
+
cellInteraction.startEdit();
|
|
51
|
+
}
|
|
52
|
+
}, [resolved, state, rowKey, columnId, cellInteraction]);
|
|
53
|
+
|
|
54
|
+
// Handle Enter and type-to-edit at the cell level
|
|
55
|
+
const onKeyDown = useCallback(
|
|
56
|
+
(e: React.KeyboardEvent) => {
|
|
57
|
+
if (!isFocused || !isEditable || isEditing) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (state.updateItemDisabled) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (e.key === 'Enter') {
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
handleActivate();
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Type-to-edit: prevent the browser's default text insertion, start
|
|
71
|
+
// edit mode, then set the value programmatically via React state.
|
|
72
|
+
// startEdit() must come before setEditingValue() because it resets
|
|
73
|
+
// editingValue to undefined.
|
|
74
|
+
if (
|
|
75
|
+
e.key.length === 1 &&
|
|
76
|
+
!e.ctrlKey &&
|
|
77
|
+
!e.metaKey &&
|
|
78
|
+
!e.altKey &&
|
|
79
|
+
!e.nativeEvent.isComposing &&
|
|
80
|
+
editInputRef.current
|
|
81
|
+
) {
|
|
82
|
+
const clearResult = resolved?.onTypeToEdit?.({ key: e.key });
|
|
83
|
+
if (!clearResult) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
e.preventDefault();
|
|
88
|
+
cellInteraction.startEdit(undefined, undefined, 'type');
|
|
89
|
+
if ('value' in clearResult) {
|
|
90
|
+
cellInteraction.setEditingValue(clearResult.value);
|
|
91
|
+
}
|
|
92
|
+
editInputRef.current.focus();
|
|
93
|
+
e.stopPropagation();
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
[
|
|
97
|
+
editInputRef,
|
|
98
|
+
isFocused,
|
|
99
|
+
isEditable,
|
|
100
|
+
isEditing,
|
|
101
|
+
state,
|
|
102
|
+
cellInteraction,
|
|
103
|
+
resolved,
|
|
104
|
+
handleActivate,
|
|
105
|
+
],
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
return useMemo(() => ({ onKeyDown }), [onKeyDown]);
|
|
109
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
2
|
+
import type { FiltersMap } from '@wix/bex-core';
|
|
3
|
+
import type { CellInteractionState } from '../../state/EditableTable/CellInteractionState';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Clears cell focus when the user clicks outside the table container.
|
|
7
|
+
*/
|
|
8
|
+
export function useClearFocusOnBlur<T, F extends FiltersMap>(
|
|
9
|
+
cellInteraction: CellInteractionState<T, F>,
|
|
10
|
+
) {
|
|
11
|
+
const blurFrameId = useRef(0);
|
|
12
|
+
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
return () => cancelAnimationFrame(blurFrameId.current);
|
|
15
|
+
}, []);
|
|
16
|
+
|
|
17
|
+
const onFocus = useCallback(() => {
|
|
18
|
+
cancelAnimationFrame(blurFrameId.current);
|
|
19
|
+
}, []);
|
|
20
|
+
|
|
21
|
+
const onBlur = useCallback(
|
|
22
|
+
(e: React.FocusEvent<HTMLDivElement>) => {
|
|
23
|
+
cancelAnimationFrame(blurFrameId.current);
|
|
24
|
+
const container = e.currentTarget;
|
|
25
|
+
|
|
26
|
+
blurFrameId.current = requestAnimationFrame(() => {
|
|
27
|
+
if (container.contains(document.activeElement)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (!cellInteraction.isEditing) {
|
|
32
|
+
cellInteraction.clearFocus();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
[cellInteraction],
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
return { onFocus, onBlur };
|
|
40
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { useEffect, useCallback } from 'react';
|
|
2
|
+
import type { FiltersMap } from '@wix/bex-core';
|
|
3
|
+
import type { EditableTableState } from '../../state/EditableTable';
|
|
4
|
+
|
|
5
|
+
export function useClipboardHandler<T, F extends FiltersMap>(
|
|
6
|
+
state: EditableTableState<T, F>,
|
|
7
|
+
containerRef: React.RefObject<HTMLDivElement | null>,
|
|
8
|
+
) {
|
|
9
|
+
const { cellInteraction, clipboard } = state;
|
|
10
|
+
|
|
11
|
+
const handleCopy = useCallback(
|
|
12
|
+
(e: ClipboardEvent) => {
|
|
13
|
+
if (cellInteraction.selectedCells.size === 0) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (cellInteraction.isEditing) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
e.preventDefault();
|
|
21
|
+
const tsv = clipboard.copy();
|
|
22
|
+
e.clipboardData?.setData('text/plain', tsv);
|
|
23
|
+
},
|
|
24
|
+
[cellInteraction, clipboard],
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
const handleCut = useCallback(
|
|
28
|
+
(e: ClipboardEvent) => {
|
|
29
|
+
if (cellInteraction.selectedCells.size === 0) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (cellInteraction.isEditing) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (state.updateItemDisabled) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
const tsv = clipboard.cut();
|
|
41
|
+
e.clipboardData?.setData('text/plain', tsv);
|
|
42
|
+
},
|
|
43
|
+
[cellInteraction, clipboard, state],
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const handlePaste = useCallback(
|
|
47
|
+
(e: ClipboardEvent) => {
|
|
48
|
+
if (!cellInteraction.focusedCell) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (cellInteraction.isEditing) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (state.updateItemDisabled) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
const rawData = e.clipboardData?.getData('text/plain') ?? '';
|
|
60
|
+
if (!rawData) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
clipboard.paste(rawData);
|
|
65
|
+
},
|
|
66
|
+
[cellInteraction, clipboard, state],
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
useEffect(() => {
|
|
70
|
+
const container = containerRef?.current;
|
|
71
|
+
if (!container) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
container.addEventListener('copy', handleCopy);
|
|
76
|
+
container.addEventListener('cut', handleCut);
|
|
77
|
+
container.addEventListener('paste', handlePaste);
|
|
78
|
+
|
|
79
|
+
return () => {
|
|
80
|
+
container.removeEventListener('copy', handleCopy);
|
|
81
|
+
container.removeEventListener('cut', handleCut);
|
|
82
|
+
container.removeEventListener('paste', handlePaste);
|
|
83
|
+
};
|
|
84
|
+
}, [handleCopy, handleCut, handlePaste, containerRef]);
|
|
85
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import type { FiltersMap } from '@wix/bex-core';
|
|
3
|
+
import type { EditableTableProps } from './EditableTable';
|
|
4
|
+
|
|
5
|
+
export function useEditableTableCollectionSyncProps<T, F extends FiltersMap>(
|
|
6
|
+
props: EditableTableProps<T, F>,
|
|
7
|
+
) {
|
|
8
|
+
const { state, columns } = props;
|
|
9
|
+
|
|
10
|
+
useEffect(() => state.init(columns), [state, columns]);
|
|
11
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import type { FiltersMap } from '@wix/bex-core';
|
|
3
|
+
import type { CellInteractionState } from '../../state/EditableTable/CellInteractionState';
|
|
4
|
+
import type { Cell } from '../../state/EditableTable';
|
|
5
|
+
|
|
6
|
+
const MOUSE_LEAVE_PADDING = 30;
|
|
7
|
+
|
|
8
|
+
const isInsidePaddedRect = (e: MouseEvent, rect: DOMRect, padding: number) =>
|
|
9
|
+
e.clientX >= rect.left - padding &&
|
|
10
|
+
e.clientX <= rect.right + padding &&
|
|
11
|
+
e.clientY >= rect.top - padding &&
|
|
12
|
+
e.clientY <= rect.bottom + padding;
|
|
13
|
+
|
|
14
|
+
export function useEditableTableContextMenu<T, F extends FiltersMap>(
|
|
15
|
+
cellInteraction: CellInteractionState<T, F>,
|
|
16
|
+
) {
|
|
17
|
+
const [position, setPosition] = useState<{ x: number; y: number } | null>(
|
|
18
|
+
null,
|
|
19
|
+
);
|
|
20
|
+
const [cell, setCell] = useState<Cell | null>(null);
|
|
21
|
+
const menuRef = useRef<HTMLDivElement>(null);
|
|
22
|
+
const cellElRef = useRef<Element | null>(null);
|
|
23
|
+
|
|
24
|
+
const handleContextMenu = useCallback(
|
|
25
|
+
(e: React.MouseEvent) => {
|
|
26
|
+
const cellEl = (e.target as HTMLElement).closest(
|
|
27
|
+
'[data-row-key][data-column-id]',
|
|
28
|
+
);
|
|
29
|
+
if (!cellEl) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
const rowKey = cellEl.getAttribute('data-row-key')!;
|
|
35
|
+
const columnId = cellEl.getAttribute('data-column-id')!;
|
|
36
|
+
if (!cellInteraction.isCellSelected(rowKey, columnId)) {
|
|
37
|
+
cellInteraction.focusCell(rowKey, columnId);
|
|
38
|
+
}
|
|
39
|
+
cellElRef.current = cellEl;
|
|
40
|
+
setPosition({ x: e.clientX, y: e.clientY });
|
|
41
|
+
setCell({ rowKey, columnId });
|
|
42
|
+
},
|
|
43
|
+
[cellInteraction],
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const handleClose = useCallback(() => {
|
|
47
|
+
setPosition(null);
|
|
48
|
+
setCell(null);
|
|
49
|
+
cellElRef.current = null;
|
|
50
|
+
}, []);
|
|
51
|
+
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (!position) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const isInside = (target: EventTarget | null) =>
|
|
58
|
+
menuRef.current?.contains(target as Node);
|
|
59
|
+
|
|
60
|
+
const onMouseDown = (e: MouseEvent) => {
|
|
61
|
+
if (!isInside(e.target)) {
|
|
62
|
+
handleClose();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const onScroll = (e: Event) => {
|
|
67
|
+
if (!isInside(e.target)) {
|
|
68
|
+
handleClose();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const onMouseMove = (e: MouseEvent) => {
|
|
73
|
+
if (!menuRef.current) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
const menuRect = menuRef.current.getBoundingClientRect();
|
|
77
|
+
// Skip until the menu has been laid out
|
|
78
|
+
if (menuRect.width === 0 || menuRect.height === 0) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Stay open if cursor is near the menu
|
|
82
|
+
if (isInsidePaddedRect(e, menuRect, MOUSE_LEAVE_PADDING)) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Stay open if cursor is on the cell that triggered the menu
|
|
86
|
+
if (cellElRef.current) {
|
|
87
|
+
const cellRect = cellElRef.current.getBoundingClientRect();
|
|
88
|
+
if (isInsidePaddedRect(e, cellRect, 0)) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
handleClose();
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
document.addEventListener('mousedown', onMouseDown);
|
|
96
|
+
document.addEventListener('scroll', onScroll, true);
|
|
97
|
+
document.addEventListener('mousemove', onMouseMove);
|
|
98
|
+
|
|
99
|
+
return () => {
|
|
100
|
+
document.removeEventListener('mousedown', onMouseDown);
|
|
101
|
+
document.removeEventListener('scroll', onScroll, true);
|
|
102
|
+
document.removeEventListener('mousemove', onMouseMove);
|
|
103
|
+
};
|
|
104
|
+
}, [position, handleClose]);
|
|
105
|
+
|
|
106
|
+
return { position, cell, menuRef, handleContextMenu, handleClose };
|
|
107
|
+
}
|