## EditableSelector Testkit

### Import

- unidriver: `import { EditableSelectorUniDriver } from '@wix/design-system/dist/testkit/unidriver';`
- vanilla: `import { EditableSelectorTestkit } from '@wix/design-system/dist/testkit';`
- puppeteer: `import { EditableSelectorTestkit } from '@wix/design-system/dist/testkit/puppeteer';`
- playwright: `import { EditableSelectorTestkit } from '@wix/design-system/dist/testkit/playwright';`

### API

### exists
- signature: exists()
- returns: Promise<boolean>
- description: Checks whether the component found with the given data hook

### element
- signature: element()
- returns: Promise<any>
- description: Gets the component root element

### click
- signature: click()
- returns: Promise<void>
- description: Clicks on the component root element

### base
- signature: base()
- returns: UniDriver
- description: Returns UniDriver for the base element

### items
- signature: items()
- returns: Promise<Array<SelectorUniDriver>>
- description: Gets a list of selector drivers

### isEditing
- signature: isEditing()
- returns: Promise<boolean>
- description: Checks whether editing mode is active

### isEditingRow
- signature: isEditingRow()
- returns: Promise<boolean>
- description: Checks whether any row is being edited

### isAddingRow
- signature: isAddingRow()
- returns: Promise<boolean>
- description: Checks whether any row is being added

### newRowButton
- signature: newRowButton()
- returns: Promise<HTMLElement>
- description: Gets the new row button wrapper

### deleteButtonAt
- signature: deleteButtonAt(index)
- returns: Promise<HTMLElement>
- description: Gets the delete row button wrapper at index

### editButtonAt
- signature: editButtonAt(index)
- returns: Promise<HTMLElement>
- description: Gets the edit row button wrapper at index

### addNewRow
- signature: addNewRow(label)
- returns: Promise<void>
- description: Adds new row and sets input value

### editRow
- signature: editRow(index, label)
- returns: Promise<void>
- description: Edits row and sets input value

### deleteRow
- signature: deleteRow(index)
- returns: Promise<void>
- description: Clicks delete button at index

### startAdding
- signature: startAdding()
- returns: Promise<void>
- description: Clicks add new row button

### startEditing
- signature: startEditing(index)
- returns: Promise<void>
- description: Clicks edit row button at index

### clickApprove
- signature: clickApprove()
- returns: Promise<void>
- description: Clicks approve button

### clickCancel
- signature: clickCancel()
- returns: Promise<void>
- description: Clicks cancel button

### title
- signature: title()
- returns: Promise<string>
- description: Gets the title

### toggleItem
- signature: toggleItem(index)
- returns: Promise<void>
- description: Toggles selector of the item at index
