UNPKG

svelte-parse

Version:

An increidbly relaxed svelte-parser

1,409 lines (1,408 loc) 39 kB
{ "type": "root", "children": [ { "type": "svelteScript", "tagName": "script", "properties": [], "selfClosing": false, "children": [ { "type": "text", "value": "\n import { beforeUpdate, createEventDispatcher, onDestroy, onMount, tick } from 'svelte';\n import assignIn from 'lodash/assignIn';\n import flatpickr from 'flatpickr';\n import { classnames } from '../../helpers/classnames';\n\n import dayjs from 'dayjs';\n import customParseFormat from 'dayjs/plugin/customParseFormat';\n dayjs.extend(customParseFormat);\n\n import DateIcon from '../Icons/Date.svelte';\n import ChevronLeftIcon from '../Icons/ChevronLeft.svelte';\n import ChevronRightIcon from '../Icons/ChevronRight.svelte';\n\n const dispatch = createEventDispatcher();\n\n const defaults = {\n allowInput: true,\n altInput: true,\n locale: {\n weekdays: {\n shorthand: ['Su', 'M', 'T', 'W', 'Th', 'F', 'Sa']\n }\n }\n };\n\n export let hasIcon = true;\n export let canNavigate = false;\n export let isInline = false;\n export let date = null;\n export let minDate = undefined;\n export let maxDate = undefined;\n export let placeholder = 'Select a date';\n export let altFormat = 'F j, Y';\n export let dateFormat = 'd/m/Y';\n export let toDate = null;\n \n export let hasDropdown = true;\n export let isRange = false;\n export let position = 'auto';\n export let defaultToday = undefined;\n export let isDisabled = undefined;\n\n let hasFocus = false;\n let datePicker = undefined;\n let picker = undefined;\n let input = undefined;\n let toDateBackup = null;\n\n $: {\n if(!isRange) {\n toDate = null;\n }\n }\n\n $: {\n if(datePicker) {\n datePicker.set({\n mode: isRange ? 'range' : 'single'\n });\n }\n }\n\n $: {\n if(datePicker) {\n datePicker.setDate([date, toDate], true);\n }\n }\n\n let ClassNames;\n \n $: {\n ClassNames = classnames({\n 'noIcon': !hasIcon,\n canNavigate,\n isInline,\n hasFocus\n })\n }\n\n let DisablePrev;\n $: {\n DisablePrev = date === minDate;\n }\n\n let DisableNext;\n $: {\n DisableNext = date === maxDate;\n }\n\n let NavigatePrevClassNames;\n $: {\n NavigatePrevClassNames = classnames({ disabled: DisablePrev });\n }\n\n let NavigateNextClassNames;\n $: {\n NavigateNextClassNames = classnames({ disabled: DisableNext });\n }\n\n function onDatePickerReady() {\n picker.querySelector('.form-control').addEventListener('focus', onInputFocus);\n picker.querySelector('.form-control').addEventListener('blur', onInputBlur);\n }\n\n function onInputFocus() {\n hasFocus = true;\n }\n\n function onInputBlur() {\n if (!isRange) datePicker.setDate(date);\n hasFocus = false;\n }\n\n function onDatePickerChange(selectedDates) {\n let _date = selectedDates[0] ? datePicker.formatDate(selectedDates[0], datePicker.config.dateFormat) : null;\n let _toDate = selectedDates[1] ? datePicker.formatDate(selectedDates[1], datePicker.config.dateFormat) : null;\n\n const isNotRangedAndDirty = !isRange && date !== _date;\n const isRangedAndDirty = isRange && (date !== _date || toDate !== _toDate);\n \n if (isNotRangedAndDirty || isRangedAndDirty) {\n date = _date;\n toDate = _toDate;\n \n dispatch('select', { date, toDate });\n }\n }\n\n function nextDay() {\n if (DisableNext) return;\n\n const next = dayjs(date, 'DD/MM/YYYY').add(1, 'day').format('DD/MM/YYYY');\n datePicker.setDate(next, true);\n }\n\n function prevDay() {\n if (DisablePrev) return;\n\n const prev = dayjs(date, 'DD/MM/YYYY').subtract(1, 'day').format('DD/MM/YYYY');\n datePicker.setDate(prev, true);\n }\n\n function setInputDisabled(isDisabled) {\n if (isDisabled) {\n datePicker.altInput.setAttribute('disabled', '');\n } else {\n datePicker.altInput.removeAttribute('disabled');\n }\n }\n\n\n let prevIcon = undefined;\n let nextIcon = undefined;\n\n function createDatePicker() {\n const defaultDate = defaultToday || canNavigate ? dayjs().format('DD/MM/YYYY') : null;\n const fromDate = date || defaultDate;\n\n const prevArrow = document.createElement('div');\n prevIcon = new ChevronLeftIcon({ target: prevArrow });\n\n const nextArrow = document.createElement('div');\n nextIcon = new ChevronRightIcon({ target: nextArrow });\n\n if (input) {\n datePicker = flatpickr(input, assignIn({}, defaults, {\n altFormat,\n dateFormat,\n defaultDate: [fromDate, toDate],\n clickOpens: hasDropdown,\n inline: isInline,\n minDate,\n maxDate,\n position,\n mode: isRange ? 'range' : 'single',\n prevArrow: prevArrow.innerHTML,\n nextArrow: nextArrow.innerHTML,\n onChange: onDatePickerChange,\n onReady: onDatePickerReady,\n locale: {\n rangeSeparator: ' - '\n }\n }));\n\n date = fromDate;\n toDate = toDate;\n setInputDisabled(isDisabled);\n }\n }\n\n onMount(async () => {\n await tick();\n createDatePicker();\n });\n\n let prev_isRange = isRange;\n let prev_isDisabled = isDisabled;\n let prev_date = date;\n let prev_toDate = toDate;\n let prev_minDate = minDate;\n let prev_maxDate = maxDate;\n\n let previous = false;\n\n beforeUpdate(() => {\n if (!previous) {\n previous = true;\n } else { \n \n\n if (prev_isDisabled !== isDisabled) {\n setInputDisabled(isDisabled);\n }\n\n if (prev_minDate !== minDate) {\n const dates = datePicker.selectedDates;\n\n datePicker.set('minDate', minDate, true);\n\n if (dayjs(minDate, 'DD/MM/YYYY').isAfter(dayjs(dates[0]))) {\n dates[0] = dayjs(minDate, 'DD/MM/YYYY').toDate();\n }\n\n if (dates[1]) {\n if (dayjs(minDate, 'DD/MM/YYYY').isAfter(dayjs(dates[1]))) {\n dates[1] = dayjs(minDate, 'DD/MM/YYYY').toDate();\n }\n }\n\n datePicker.setDate(dates, true);\n }\n\n if (prev_maxDate !== maxDate) {\n const dates = datePicker.selectedDates;\n\n datePicker.set('maxDate', maxDate, true);\n\n if (dayjs(maxDate, 'DD/MM/YYYY').isBefore(dayjs(dates[0]))) {\n dates[0] = dayjs(maxDate, 'DD/MM/YYYY').toDate();\n }\n\n if (dates[1]) {\n if (dayjs(maxDate, 'DD/MM/YYYY').isBefore(dayjs(dates[1]))) {\n dates[1] = dayjs(maxDate, 'DD/MM/YYYY').toDate();\n }\n }\n\n datePicker.setDate(dates, true);\n }\n\n prev_isRange = isRange;\n prev_isDisabled = isDisabled;\n prev_date = date;\n prev_toDate = toDate;\n prev_minDate = minDate;\n prev_maxDate = maxDate;\n }\n });\n\n onDestroy(async () => {\n if (picker) {\n picker.querySelector('.form-control').removeEventListener('focus', onInputFocus);\n picker.querySelector('.form-control').removeEventListener('blur', onInputBlur);\n }\n\n if (datePicker) { \n datePicker.destroy();\n prevIcon.$destroy();\n nextIcon.$destroy();\n }\n });\n", "position": { "start": { "line": 1, "column": 9, "offset": 8 }, "end": { "line": 273, "column": 1, "offset": 6735 } } } ], "position": { "start": { "line": 1, "column": 1, "offset": 0 }, "end": { "line": 273, "column": 10, "offset": 6744 } } }, { "type": "text", "value": "\n\n", "position": { "start": { "line": 273, "column": 10, "offset": 6744 }, "end": { "line": 275, "column": 1, "offset": 6746 } } }, { "type": "svelteStyle", "tagName": "style", "properties": [], "selfClosing": false, "children": [ { "type": "text", "value": "\n .datePicker {\n position: relative;\n }\n\n .isInline input {\n display: none;\n }\n\n .isInline .icon {\n display: none;\n }\n\n .userInput {\n border: 1px solid var(--neutral_1);\n border-radius: 4px;\n background-color: var(--white);\n color: var(--neutral_7);\n display: block;\n font-size: 14px;\n line-height: 16px;\n padding: 13px 10px 13px 45px;\n width: 100%;\n }\n\n .noIcon .userInput {\n padding-left: 10px;\n }\n\n .userInput:hover {\n border: 1px solid var(--neutral_3);\n }\n\n .userInput:disabled {\n background-color: var(--neutral_0);\n border-color: var(--neutral_0);\n color: #b2b8bf;\n }\n\n .userInput:focus {\n border-color: var(--blue_5);\n outline: none;\n }\n\n .userInput::-webkit-input-placeholder {\n color: var(--neutral_3);\n }\n\n .userInput:-ms-input-placeholder {\n color: var(--neutral_3);\n }\n\n .userInput::-moz-placeholder {\n color: var(--neutral_3);\n }\n\n .userInput:-moz-placeholder {\n color: var(--neutral_3);\n }\n\n .canNavigate .userInput {\n padding-right: 50px;\n }\n\n .icon {\n color: var(--neutral_6);\n position: absolute;\n top: 12px;\n left: 14px;\n width: 20px;\n height: 20px;\n }\n\n .hasFocus .icon {\n color: var(--blue_5);\n }\n\n .navigation {\n position: absolute;\n top: 13px;\n right: 14px;\n width: 40px;\n user-select: none;\n }\n\n .navigation_prev {\n color: var(--neutral_6);\n position: absolute;\n width: 20px;\n top: 0;\n left: 0;\n }\n\n .navigation_next {\n color: var(--neutral_6);\n position: absolute;\n width: 20px;\n top: 0;\n right: 0;\n }\n\n .navigation_next.disabled,\n .navigation_prev.disabled {\n color: var(--neutral_1);\n }\n\n .navigation_next:not(.disabled):hover,\n .navigation_prev:not(.disabled):hover {\n color: var(--neutral_6);\n cursor: pointer;\n }\n", "position": { "start": { "line": 275, "column": 8, "offset": 6753 }, "end": { "line": 386, "column": 1, "offset": 8585 } } } ], "position": { "start": { "line": 275, "column": 1, "offset": 6746 }, "end": { "line": 386, "column": 9, "offset": 8593 } } }, { "type": "text", "value": "\n\n", "position": { "start": { "line": 386, "column": 9, "offset": 8593 }, "end": { "line": 388, "column": 1, "offset": 8595 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "datePicker", "position": { "start": { "line": 388, "column": 13, "offset": 8607 }, "end": {} } }, { "type": "text", "value": " ", "position": { "start": { "line": 388, "column": 23, "offset": 8617 }, "end": { "line": 388, "column": 24, "offset": 8618 } } }, { "type": "svelteDynamicContent", "position": { "start": { "line": 388, "column": 24, "offset": 8618 }, "end": { "line": 388, "column": 38, "offset": 8632 } }, "expression": { "type": "svelteExpression", "value": " ClassNames ", "position": { "start": { "line": 388, "column": 25, "offset": 8619 }, "end": { "line": 388, "column": 37, "offset": 8631 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 388, "column": 6, "offset": 8600 }, "end": { "line": 388, "column": 39, "offset": 8633 } } } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 388, "column": 40, "offset": 8634 }, "end": { "line": 389, "column": 3, "offset": 8637 } } }, { "type": "svelteBranchingBlock", "name": "if", "branches": [ { "type": "svelteBranch", "name": "if", "expression": { "type": "svelteExpression", "value": "hasIcon", "position": { "start": { "line": 389, "column": 8, "offset": 8642 }, "end": { "line": 389, "column": 15, "offset": 8649 } } }, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 389, "column": 16, "offset": 8650 }, "end": { "line": 390, "column": 5, "offset": 8655 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "icon", "position": { "start": { "line": 390, "column": 17, "offset": 8667 }, "end": { "line": 390, "column": 22, "offset": 8672 } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 390, "column": 10, "offset": 8660 }, "end": { "line": 390, "column": 22, "offset": 8672 } } } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 390, "column": 23, "offset": 8673 }, "end": { "line": 391, "column": 7, "offset": 8680 } } }, { "type": "svelteComponent", "tagName": "DateIcon", "properties": [], "selfClosing": true, "children": [], "position": { "start": { "line": 391, "column": 7, "offset": 8680 }, "end": { "line": 391, "column": 19, "offset": 8692 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 391, "column": 19, "offset": 8692 }, "end": { "line": 392, "column": 5, "offset": 8697 } } } ], "position": { "start": { "line": 390, "column": 5, "offset": 8655 }, "end": { "line": 392, "column": 11, "offset": 8703 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 392, "column": 11, "offset": 8703 }, "end": { "line": 393, "column": 3, "offset": 8706 } } } ], "position": { "start": { "line": 389, "column": 3, "offset": 8637 }, "end": { "line": 393, "column": 3, "offset": 8706 } } } ], "position": { "start": { "line": 389, "column": 3, "offset": 8637 }, "end": { "line": 393, "column": 8, "offset": 8711 } } }, { "type": "text", "value": "\n \n ", "position": { "start": { "line": 393, "column": 8, "offset": 8711 }, "end": { "line": 395, "column": 3, "offset": 8717 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "datePicker_input", "position": { "start": { "line": 395, "column": 15, "offset": 8729 }, "end": { "line": 395, "column": 32, "offset": 8746 } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 395, "column": 8, "offset": 8722 }, "end": { "line": 395, "column": 32, "offset": 8746 } } }, { "type": "svelteDirective", "name": "bind", "value": [ { "type": "svelteDynamicContent", "position": { "start": { "line": 395, "column": 43, "offset": 8757 }, "end": { "line": 395, "column": 51, "offset": 8765 } }, "expression": { "type": "svelteExpression", "value": "picker", "position": { "start": { "line": 395, "column": 44, "offset": 8758 }, "end": { "line": 395, "column": 50, "offset": 8764 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 395, "column": 33, "offset": 8747 }, "end": { "line": 395, "column": 51, "offset": 8765 } }, "specifier": "this" } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 395, "column": 52, "offset": 8766 }, "end": { "line": 396, "column": 5, "offset": 8771 } } }, { "type": "svelteElement", "tagName": "input", "properties": [ { "type": "svelteProperty", "name": "type", "value": [ { "type": "text", "value": "text", "position": { "start": { "line": 396, "column": 18, "offset": 8784 }, "end": { "line": 396, "column": 23, "offset": 8789 } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 396, "column": 12, "offset": 8778 }, "end": { "line": 396, "column": 23, "offset": 8789 } } }, { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "userInput", "position": { "start": { "line": 396, "column": 31, "offset": 8797 }, "end": { "line": 396, "column": 41, "offset": 8807 } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 396, "column": 24, "offset": 8790 }, "end": { "line": 396, "column": 41, "offset": 8807 } } }, { "type": "svelteDirective", "name": "bind", "value": [ { "type": "svelteDynamicContent", "position": { "start": { "line": 396, "column": 52, "offset": 8818 }, "end": { "line": 396, "column": 59, "offset": 8825 } }, "expression": { "type": "svelteExpression", "value": "input", "position": { "start": { "line": 396, "column": 53, "offset": 8819 }, "end": { "line": 396, "column": 58, "offset": 8824 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 396, "column": 42, "offset": 8808 }, "end": { "line": 396, "column": 59, "offset": 8825 } }, "specifier": "this" }, { "type": "svelteProperty", "name": "placeholder", "value": [ { "type": "svelteDynamicContent", "expression": { "type": "svelteExpression", "value": "placeholder", "position": { "start": { "line": 396, "column": 61, "offset": 8827 }, "end": { "line": 396, "column": 72, "offset": 8838 } } }, "position": { "start": { "line": 396, "column": 60, "offset": 8826 }, "end": { "line": 396, "column": 72, "offset": 8838 } } } ], "modifiers": [], "shorthand": "expression", "position": { "start": { "line": 396, "column": 60, "offset": 8826 }, "end": { "line": 396, "column": 72, "offset": 8838 } } } ], "selfClosing": true, "children": [], "position": { "start": { "line": 396, "column": 5, "offset": 8771 }, "end": { "line": 396, "column": 74, "offset": 8840 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 396, "column": 74, "offset": 8840 }, "end": { "line": 397, "column": 3, "offset": 8843 } } } ], "position": { "start": { "line": 395, "column": 3, "offset": 8717 }, "end": { "line": 397, "column": 9, "offset": 8849 } } }, { "type": "text", "value": "\n \n ", "position": { "start": { "line": 397, "column": 9, "offset": 8849 }, "end": { "line": 399, "column": 3, "offset": 8855 } } }, { "type": "svelteBranchingBlock", "name": "if", "branches": [ { "type": "svelteBranch", "name": "if", "expression": { "type": "svelteExpression", "value": "canNavigate", "position": { "start": { "line": 399, "column": 8, "offset": 8860 }, "end": { "line": 399, "column": 19, "offset": 8871 } } }, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 399, "column": 20, "offset": 8872 }, "end": { "line": 400, "column": 5, "offset": 8877 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "navigation", "position": { "start": { "line": 400, "column": 17, "offset": 8889 }, "end": { "line": 400, "column": 28, "offset": 8900 } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 400, "column": 10, "offset": 8882 }, "end": { "line": 400, "column": 28, "offset": 8900 } } } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 400, "column": 29, "offset": 8901 }, "end": { "line": 401, "column": 7, "offset": 8908 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "navigation_prev", "position": { "start": { "line": 401, "column": 19, "offset": 8920 }, "end": {} } }, { "type": "text", "value": " ", "position": { "start": { "line": 401, "column": 34, "offset": 8935 }, "end": { "line": 401, "column": 35, "offset": 8936 } } }, { "type": "svelteDynamicContent", "position": { "start": { "line": 401, "column": 35, "offset": 8936 }, "end": { "line": 401, "column": 61, "offset": 8962 } }, "expression": { "type": "svelteExpression", "value": " NavigatePrevClassNames ", "position": { "start": { "line": 401, "column": 36, "offset": 8937 }, "end": { "line": 401, "column": 60, "offset": 8961 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 401, "column": 12, "offset": 8913 }, "end": { "line": 401, "column": 62, "offset": 8963 } } }, { "type": "svelteDirective", "name": "on", "value": [ { "type": "svelteDynamicContent", "position": { "start": { "line": 401, "column": 73, "offset": 8974 }, "end": { "line": 401, "column": 82, "offset": 8983 } }, "expression": { "type": "svelteExpression", "value": "prevDay", "position": { "start": { "line": 401, "column": 74, "offset": 8975 }, "end": { "line": 401, "column": 81, "offset": 8982 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 401, "column": 63, "offset": 8964 }, "end": { "line": 401, "column": 83, "offset": 8984 } }, "specifier": "click" } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 401, "column": 84, "offset": 8985 }, "end": { "line": 402, "column": 9, "offset": 8994 } } }, { "type": "svelteComponent", "tagName": "ChevronLeftIcon", "properties": [], "selfClosing": true, "children": [], "position": { "start": { "line": 402, "column": 9, "offset": 8994 }, "end": { "line": 402, "column": 28, "offset": 9013 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 402, "column": 28, "offset": 9013 }, "end": { "line": 403, "column": 7, "offset": 9020 } } } ], "position": { "start": { "line": 401, "column": 7, "offset": 8908 }, "end": { "line": 403, "column": 13, "offset": 9026 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 403, "column": 13, "offset": 9026 }, "end": { "line": 404, "column": 7, "offset": 9033 } } }, { "type": "svelteElement", "tagName": "div", "properties": [ { "type": "svelteProperty", "name": "class", "value": [ { "type": "text", "value": "navigation_next", "position": { "start": { "line": 404, "column": 19, "offset": 9045 }, "end": {} } }, { "type": "text", "value": " ", "position": { "start": { "line": 404, "column": 34, "offset": 9060 }, "end": { "line": 404, "column": 35, "offset": 9061 } } }, { "type": "svelteDynamicContent", "position": { "start": { "line": 404, "column": 35, "offset": 9061 }, "end": { "line": 404, "column": 61, "offset": 9087 } }, "expression": { "type": "svelteExpression", "value": " NavigateNextClassNames ", "position": { "start": { "line": 404, "column": 36, "offset": 9062 }, "end": { "line": 404, "column": 60, "offset": 9086 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 404, "column": 12, "offset": 9038 }, "end": { "line": 404, "column": 62, "offset": 9088 } } }, { "type": "svelteDirective", "name": "on", "value": [ { "type": "svelteDynamicContent", "position": { "start": { "line": 404, "column": 73, "offset": 9099 }, "end": { "line": 404, "column": 82, "offset": 9108 } }, "expression": { "type": "svelteExpression", "value": "nextDay", "position": { "start": { "line": 404, "column": 74, "offset": 9100 }, "end": { "line": 404, "column": 81, "offset": 9107 } } } } ], "modifiers": [], "shorthand": "none", "position": { "start": { "line": 404, "column": 63, "offset": 9089 }, "end": { "line": 404, "column": 83, "offset": 9109 } }, "specifier": "click" } ], "selfClosing": false, "children": [ { "type": "text", "value": "\n ", "position": { "start": { "line": 404, "column": 84, "offset": 9110 }, "end": { "line": 405, "column": 9, "offset": 9119 } } }, { "type": "svelteComponent", "tagName": "ChevronRightIcon", "properties": [], "selfClosing": true, "children": [], "position": { "start": { "line": 405, "column": 9, "offset": 9119 }, "end": { "line": 405, "column": 29, "offset": 9139 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 405, "column": 29, "offset": 9139 }, "end": { "line": 406, "column": 7, "offset": 9146 } } } ], "position": { "start": { "line": 404, "column": 7, "offset": 9033 }, "end": { "line": 406, "column": 13, "offset": 9152 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 406, "column": 13, "offset": 9152 }, "end": { "line": 407, "column": 5, "offset": 9157 } } } ], "position": { "start": { "line": 400, "column": 5, "offset": 8877 }, "end": { "line": 407, "column": 11, "offset": 9163 } } }, { "type": "text", "value": "\n ", "position": { "start": { "line": 407, "column": 11, "offset": 9163 }, "end": { "line": 408, "column": 3, "offset": 9166 } } } ], "position": { "start": { "line": 399, "column": 3, "offset": 8855 }, "end": { "line": 408, "column": 3, "offset": 9166 } } } ], "position": { "start": { "line": 399, "column": 3, "offset": 8855 }, "end": { "line": 408, "column": 8, "offset": 9171 } } }, { "type": "text", "value": "\n", "position": { "start": { "line": 408, "column": 8, "offset": 9171 }, "end": { "line": 409, "column": 1, "offset": 9172 } } } ], "position": { "start": { "line": 388, "column": 1, "offset": 8595 }, "end": { "line": 409, "column": 7, "offset": 9178 } } } ], "position": { "start": { "column": 1, "line": 1, "offset": 0 }, "end": { "line": 409, "column": 7, "offset": 9178 } } }