SYMBOL INDEX (223 symbols across 24 files) FILE: examples/studies/book-a-demo.js function runSurvey (line 7) | async function runSurvey() { FILE: examples/studies/data-annotation.js function addBoundingBoxPage (line 9) | async function addBoundingBoxPage(survey, imageUrl, index) { function runSurvey (line 20) | async function runSurvey() { FILE: examples/studies/element-showcase.js function runSurvey (line 16) | async function runSurvey() { FILE: examples/studies/enterprise-market-research.js function runSurvey (line 10) | async function runSurvey() { FILE: examples/studies/llm-rlhf.js function generatePromptResponseHTML (line 9) | function generatePromptResponseHTML(prompt, response) { function generatePage (line 22) | function generatePage(pageNumber, prompt, response) { function runSurvey (line 64) | async function runSurvey() { FILE: examples/studies/nps-with-branding.js function runSurvey (line 7) | async function runSurvey() { FILE: examples/studies/product-market-fit.js function runSurvey (line 8) | async function runSurvey() { FILE: examples/studies/typeform.js function runSurvey (line 6) | async function runSurvey() { FILE: library/core/element.js class Element (line 1) | class Element { method constructor (line 20) | constructor({ id, type, store_data = false, required = false, customVa... method mergeStyles (line 40) | mergeStyles(surveyElementStyles, elementStyles) { method generateStylesheet (line 53) | generateStylesheet(surveyElementStyles) { method getSelectorForKey (line 61) | getSelectorForKey(key) { method generateStyleForSelector (line 65) | generateStyleForSelector(selector, rules) { method rulesToString (line 89) | rulesToString(rules) { method camelToKebab (line 96) | camelToKebab(string) { method setInitialResponse (line 100) | setInitialResponse(value) { method render (line 104) | render(surveyElementStyles) { method generateHTML (line 128) | generateHTML() { method attachEventListeners (line 132) | attachEventListeners() { method addEventListenerWithTracking (line 136) | addEventListenerWithTracking(element, eventType, handler) { method collectData (line 144) | collectData() { method setResponse (line 148) | setResponse(value) { method addData (line 157) | addData(key, value) { method validate (line 163) | validate() { method showValidationError (line 185) | showValidationError(message) { method destroy (line 195) | destroy() { FILE: library/core/plugin.js class Plugin (line 1) | class Plugin { method constructor (line 2) | constructor({ targetId = 'survey-container', position = 'top', styles ... method initialize (line 9) | initialize(survey) { method injectPlugin (line 14) | injectPlugin() { method getOrCreatePluginContainer (line 27) | getOrCreatePluginContainer(targetContainer) { method createPluginElement (line 45) | createPluginElement() { method generateContent (line 53) | generateContent() { method applyStyles (line 58) | applyStyles(element) { method beforePageRender (line 62) | beforePageRender() { method afterPageRender (line 66) | afterPageRender() { method beforeSurveyFinish (line 70) | beforeSurveyFinish() { method destroy (line 74) | destroy() { FILE: library/core/survey.js class Survey (line 1) | class Survey { method constructor (line 89) | constructor(customSurveyDetails = {}) { method initialize (line 111) | initialize() { method mergeStyles (line 121) | mergeStyles(defaultStyles, customStyles) { method deepMerge (line 128) | deepMerge(target, source) { method applyGlobalStyles (line 157) | applyGlobalStyles() { method generateStylesheet (line 163) | generateStylesheet() { method getSelectorForKey (line 169) | getSelectorForKey(key) { method generateStyleForSelector (line 182) | generateStyleForSelector(selector, rules) { method rulesToString (line 201) | rulesToString(rules) { method camelToKebab (line 208) | camelToKebab(string) { method validateStyles (line 212) | validateStyles() { method revealContent (line 220) | revealContent() { method addPlugin (line 229) | addPlugin(plugin) { method removePlugin (line 238) | removePlugin(plugin) { method setSurveyDetail (line 248) | setSurveyDetail(key, value) { method getSurveyDetail (line 252) | getSurveyDetail(key) { method showPage (line 256) | async showPage(page) { method cleanupCurrentPage (line 290) | cleanupCurrentPage() { method setupNextButton (line 309) | async setupNextButton() { method validateCurrentPage (line 344) | async validateCurrentPage() { method collectPageData (line 360) | collectPageData(page) { method updateData (line 369) | updateData(elementData) { method getResponse (line 376) | getResponse(questionId) { method responded (line 381) | responded(questionId) { method getAllResponses (line 386) | getAllResponses() { method getAllSurveyData (line 390) | getAllSurveyData() { method finishSurvey (line 397) | finishSurvey(message) { FILE: library/elements/HTML.js class HTML (line 3) | class HTML extends Element { method constructor (line 12) | constructor({ id, content, styles = {} }) { method getSelectorForKey (line 26) | getSelectorForKey(key) { method generateHTML (line 30) | generateHTML() { method render (line 38) | render(surveyElementStyles) { method destroy (line 53) | destroy() { method attachEventListeners (line 62) | attachEventListeners() { method setResponse (line 66) | setResponse() { method validate (line 70) | validate() { method showValidationError (line 74) | showValidationError() { FILE: library/elements/boundingBox.js class BoundingBox (line 3) | class BoundingBox extends Element { method constructor (line 51) | constructor({ method generateHTML (line 91) | generateHTML() { method initializeState (line 111) | initializeState() { method bindEventHandlers (line 128) | bindEventHandlers() { method attachEventListeners (line 140) | attachEventListeners() { method handleResize (line 163) | handleResize() { method resizeCanvas (line 168) | resizeCanvas() { method handleMouseDown (line 175) | handleMouseDown(e) { method handleMouseMove (line 182) | handleMouseMove(e) { method handleMouseUp (line 187) | handleMouseUp() { method handleTouchStart (line 193) | handleTouchStart(e) { method handleTouchMove (line 200) | handleTouchMove(e) { method handleTouchEnd (line 207) | handleTouchEnd() { method handleCursorUpdate (line 211) | handleCursorUpdate(e) { method handleKeyDown (line 216) | handleKeyDown(e) { method startInteraction (line 224) | startInteraction(x, y) { method updateInteraction (line 244) | updateInteraction(x, y) { method endInteraction (line 260) | endInteraction() { method updateDrawing (line 276) | updateDrawing(x, y) { method updateMoving (line 288) | updateMoving(x, y) { method updateResizing (line 294) | updateResizing(x, y) { method checkStartDrawing (line 298) | checkStartDrawing(x, y) { method getScaledPosition (line 317) | getScaledPosition(e) { method clearBoxes (line 327) | clearBoxes() { method removeActiveBox (line 336) | removeActiveBox() { method updateRemoveButtonState (line 347) | updateRemoveButtonState() { method getClickedBox (line 352) | getClickedBox(x, y) { method getResizeHandle (line 359) | getResizeHandle(box, x, y) { method updateCursor (line 374) | updateCursor(x, y) { method resizeBox (line 384) | resizeBox(x, y) { method flipResizeHandle (line 449) | flipResizeHandle(direction) { method moveBox (line 474) | moveBox(box, newX, newY) { method constrainBoxToImage (line 479) | constrainBoxToImage(box) { method draw (line 486) | draw() { method drawResizeHandles (line 505) | drawResizeHandles(box) { method getRGBAColor (line 527) | getRGBAColor(color, opacity) { method getScaledBoxes (line 538) | getScaledBoxes() { method updateHistory (line 547) | updateHistory() { method undoAction (line 559) | undoAction() { method setResponse (line 573) | setResponse(value) { method validate (line 578) | validate() { method destroy (line 591) | destroy() { FILE: library/elements/checkBox.js class CheckBox (line 3) | class CheckBox extends Element { method constructor (line 36) | constructor({ method generateHTML (line 52) | generateHTML() { method attachEventListeners (line 66) | attachEventListeners() { method setResponse (line 73) | setResponse(value) { method validate (line 78) | validate() { FILE: library/elements/dropdownSelect.js class DropdownSelect (line 3) | class DropdownSelect extends Element { method constructor (line 37) | constructor({ method generateHTML (line 67) | generateHTML() { method attachEventListeners (line 89) | attachEventListeners() { method handleChange (line 94) | handleChange(e) { method validate (line 99) | validate() { FILE: library/elements/grid.js class Grid (line 3) | class Grid extends Element { method constructor (line 78) | constructor({ method generateHTML (line 116) | generateHTML() { method generateStylesheet (line 156) | generateStylesheet(surveyElementStyles) { method shuffleArray (line 168) | shuffleArray(array) { method attachEventListeners (line 172) | attachEventListeners() { method handleChange (line 177) | handleChange(e) { method updateResponse (line 183) | updateResponse() { method setResponse (line 194) | setResponse(value) { method validate (line 199) | validate() { FILE: library/elements/multiSelect.js class MultiSelect (line 3) | class MultiSelect extends Element { method constructor (line 58) | constructor({ method generateHTML (line 98) | generateHTML() { method attachEventListeners (line 123) | attachEventListeners() { method handleClick (line 128) | handleClick(e) { method updateResponse (line 137) | updateResponse() { method setResponse (line 144) | setResponse(value) { method validate (line 149) | validate() { method shuffleArray (line 163) | shuffleArray(array) { FILE: library/elements/numberEntry.js class NumberEntry (line 3) | class NumberEntry extends Element { method constructor (line 26) | constructor({ method generateHTML (line 58) | generateHTML() { method attachEventListeners (line 87) | attachEventListeners() { method setResponse (line 94) | setResponse(value) { method validate (line 100) | validate() { FILE: library/elements/numberScale.js class NumberScale (line 3) | class NumberScale extends Element { method constructor (line 66) | constructor({ method generateHTML (line 106) | generateHTML() { method attachEventListeners (line 143) | attachEventListeners() { method handleChange (line 149) | handleChange(e) { method updateSelectedStyles (line 156) | updateSelectedStyles() { method setResponse (line 174) | setResponse(value) { method validate (line 180) | validate() { FILE: library/elements/openEnd.js class OpenEnd (line 3) | class OpenEnd extends Element { method constructor (line 29) | constructor({ method generateHTML (line 73) | generateHTML() { method attachEventListeners (line 96) | attachEventListeners() { method handleInput (line 102) | handleInput(e) { method handleCopy (line 112) | handleCopy(e) { method updateAliasTypingHistory (line 125) | updateAliasTypingHistory(newHistory) { method initializeAliasStartTime (line 134) | initializeAliasStartTime() { method setResponse (line 140) | setResponse(value) { method validate (line 146) | validate() { method destroy (line 161) | destroy() { FILE: library/elements/singleSelect.js class SingleSelect (line 3) | class SingleSelect extends Element { method constructor (line 70) | constructor({ method generateHTML (line 106) | generateHTML() { method generateOptionHTML (line 130) | generateOptionHTML(option, index) { method generateOtherOptionHTML (line 139) | generateOtherOptionHTML() { method attachEventListeners (line 149) | attachEventListeners() { method handleClick (line 159) | handleClick(e) { method handleOtherInput (line 182) | handleOtherInput(e) { method setResponse (line 187) | setResponse(value) { method validate (line 192) | validate() { method shuffleArray (line 214) | shuffleArray(array) { FILE: library/elements/textInput.js class TextInput (line 3) | class TextInput extends Element { method constructor (line 29) | constructor({ method generateHTML (line 62) | generateHTML() { method attachEventListeners (line 85) | attachEventListeners() { method handleInput (line 90) | handleInput(e) { method setResponse (line 95) | setResponse(value) { method validate (line 101) | validate() { FILE: library/plugins/pageHTML.js class PageHTML (line 3) | class PageHTML extends Plugin { method constructor (line 4) | constructor({ content, targetId = 'survey-container', position = 'top'... method generateContent (line 14) | generateContent() { method initialize (line 18) | initialize(survey) { method beforePageRender (line 22) | beforePageRender() { method beforeSurveyFinish (line 26) | beforeSurveyFinish() { method afterPageRender (line 30) | afterPageRender() { method updateContent (line 34) | updateContent(newContent) { FILE: library/plugins/progressBar.js class ProgressBar (line 3) | class ProgressBar extends Plugin { method constructor (line 33) | constructor({ method mergeStyles (line 56) | static mergeStyles(defaultStyles, customStyles) { method generateContent (line 66) | generateContent() { method initialize (line 75) | initialize(survey) { method applyStyles (line 81) | applyStyles() { method generateStylesheet (line 87) | generateStylesheet() { method getSelectorForKey (line 93) | getSelectorForKey(key) { method generateStyleForSelector (line 103) | generateStyleForSelector(selector, rules) { method camelToKebab (line 111) | camelToKebab(string) { method beforePageRender (line 115) | beforePageRender() { method updateProgress (line 120) | updateProgress() { method afterPageRender (line 125) | afterPageRender() { method updateProgressBar (line 129) | updateProgressBar() { method generateProgressText (line 141) | generateProgressText() { method updateProgressText (line 151) | updateProgressText() { method beforeSurveyFinish (line 163) | beforeSurveyFinish() { method destroy (line 168) | destroy() {