lumen-plus 0.0.4 → 0.0.5

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.
Files changed (446) hide show
  1. package/dist/components/Alert/Alert.svelte +1 -1
  2. package/dist/components/Autocomplete/Autocomplete.svelte +1 -1
  3. package/dist/components/Backtop/Backtop.svelte +1 -1
  4. package/dist/components/Breadcrumb/Breadcrumb.svelte +1 -1
  5. package/dist/components/Button/Button.svelte +1 -1
  6. package/dist/components/Calendar/Calendar.svelte +1 -1
  7. package/dist/components/Carousel/Carousel.svelte +1 -1
  8. package/dist/components/Cascader/Cascader.svelte +2 -2
  9. package/dist/components/Checkbox/Checkbox.svelte +1 -1
  10. package/dist/components/Collapse/CollapseItem.svelte +1 -1
  11. package/dist/components/ColorPicker/ColorPicker.svelte +2 -2
  12. package/dist/components/DatePicker/DatePicker.svelte +2 -2
  13. package/dist/components/DateTimePicker/DateTimePicker.svelte +2 -2
  14. package/dist/components/Dialog/Dialog.svelte +1 -1
  15. package/dist/components/Drawer/Drawer.svelte +1 -1
  16. package/dist/components/Dropdown/Dropdown.svelte +1 -1
  17. package/dist/components/Image/Image.svelte +1 -1
  18. package/dist/components/Input/Input.svelte +1 -1
  19. package/dist/components/InputNumber/InputNumber.svelte +1 -1
  20. package/dist/components/InputTag/InputTag.svelte +1 -1
  21. package/dist/components/Loading/Loading.svelte +1 -1
  22. package/dist/components/Menu/Menu.svelte +1 -1
  23. package/dist/components/Message/MessageBox.svelte +1 -1
  24. package/dist/components/MessageBox/MessageBox.svelte +2 -2
  25. package/dist/components/Notification/Notification.svelte +1 -1
  26. package/dist/components/Pagination/Pagination.svelte +4 -4
  27. package/dist/components/Popconfirm/Popconfirm.svelte +2 -2
  28. package/dist/components/Result/Result.svelte +1 -1
  29. package/dist/components/Select/Select.svelte +2 -2
  30. package/dist/components/Slider/Slider.svelte +1 -1
  31. package/dist/components/Steps/Step.svelte +1 -1
  32. package/dist/components/Switch/Switch.svelte +1 -1
  33. package/dist/components/Table/Table.svelte +5 -5
  34. package/dist/components/Tabs/Tabs.svelte +1 -1
  35. package/dist/components/Tag/Tag.svelte +1 -1
  36. package/dist/components/Textarea/Textarea.svelte +1 -1
  37. package/dist/components/TimePicker/TimePicker.svelte +2 -2
  38. package/dist/components/Transfer/Transfer.svelte +2 -2
  39. package/dist/components/Tree/TreeNode.svelte +2 -2
  40. package/dist/components/TreeSelect/TreeSelect.svelte +4 -4
  41. package/dist/components/Upload/Upload.svelte +1 -1
  42. package/package.json +1 -1
  43. package/dist/utils/node_modules/.bin/tsc +0 -2
  44. package/dist/utils/node_modules/.bin/tsserver +0 -2
  45. package/dist/utils/node_modules/svelte/LICENSE.md +0 -7
  46. package/dist/utils/node_modules/svelte/README.md +0 -41
  47. package/dist/utils/node_modules/svelte/compiler/index.js +0 -1
  48. package/dist/utils/node_modules/svelte/compiler/package.json +0 -3
  49. package/dist/utils/node_modules/svelte/package.json +0 -184
  50. package/dist/utils/node_modules/svelte/src/animate/index.js +0 -78
  51. package/dist/utils/node_modules/svelte/src/attachments/index.js +0 -113
  52. package/dist/utils/node_modules/svelte/src/compiler/errors.js +0 -1719
  53. package/dist/utils/node_modules/svelte/src/compiler/index.js +0 -198
  54. package/dist/utils/node_modules/svelte/src/compiler/legacy.js +0 -632
  55. package/dist/utils/node_modules/svelte/src/compiler/migrate/index.js +0 -1996
  56. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/acorn.js +0 -198
  57. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/index.js +0 -326
  58. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/read/context.js +0 -116
  59. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/read/expression.js +0 -93
  60. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/read/options.js +0 -261
  61. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/read/script.js +0 -97
  62. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/read/style.js +0 -633
  63. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/remove_typescript_nodes.js +0 -180
  64. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/state/element.js +0 -877
  65. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/state/fragment.js +0 -17
  66. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/state/tag.js +0 -751
  67. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/state/text.js +0 -23
  68. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/utils/bracket.js +0 -213
  69. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/utils/create.js +0 -16
  70. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/utils/entities.js +0 -2234
  71. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/utils/fuzzymatch.js +0 -280
  72. package/dist/utils/node_modules/svelte/src/compiler/phases/1-parse/utils/html.js +0 -127
  73. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/css/css-analyze.js +0 -331
  74. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/css/css-prune.js +0 -1160
  75. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/css/css-warn.js +0 -47
  76. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/css/utils.js +0 -177
  77. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/index.js +0 -1283
  78. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/utils/check_graph_for_cycles.js +0 -47
  79. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/AnimateDirective.js +0 -15
  80. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ArrowFunctionExpression.js +0 -11
  81. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/AssignmentExpression.js +0 -31
  82. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/AttachTag.js +0 -17
  83. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Attribute.js +0 -66
  84. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/AwaitBlock.js +0 -48
  85. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/AwaitExpression.js +0 -150
  86. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/BindDirective.js +0 -280
  87. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/CallExpression.js +0 -339
  88. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ClassBody.js +0 -156
  89. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ClassDeclaration.js +0 -25
  90. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ClassDirective.js +0 -13
  91. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Component.js +0 -26
  92. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ConstTag.js +0 -45
  93. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/DebugTag.js +0 -15
  94. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/EachBlock.js +0 -97
  95. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ExportDefaultDeclaration.js +0 -20
  96. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ExportNamedDeclaration.js +0 -70
  97. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ExportSpecifier.js +0 -30
  98. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ExpressionStatement.js +0 -38
  99. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ExpressionTag.js +0 -26
  100. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Fragment.js +0 -10
  101. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/FunctionDeclaration.js +0 -16
  102. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/FunctionExpression.js +0 -11
  103. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/HtmlTag.js +0 -19
  104. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Identifier.js +0 -193
  105. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/IfBlock.js +0 -27
  106. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/ImportDeclaration.js +0 -31
  107. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/KeyBlock.js +0 -21
  108. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/LabeledStatement.js +0 -95
  109. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/LetDirective.js +0 -24
  110. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Literal.js +0 -14
  111. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/MemberExpression.js +0 -28
  112. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/NewExpression.js +0 -17
  113. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/OnDirective.js +0 -28
  114. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/PropertyDefinition.js +0 -21
  115. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/RegularElement.js +0 -210
  116. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/RenderTag.js +0 -68
  117. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SlotElement.js +0 -42
  118. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SnippetBlock.js +0 -113
  119. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SpreadAttribute.js +0 -13
  120. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SpreadElement.js +0 -16
  121. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/StyleDirective.js +0 -39
  122. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteBody.js +0 -22
  123. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteBoundary.js +0 -30
  124. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteComponent.js +0 -18
  125. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteDocument.js +0 -24
  126. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteElement.js +0 -78
  127. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteFragment.js +0 -27
  128. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteHead.js +0 -18
  129. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteSelf.js +0 -36
  130. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/SvelteWindow.js +0 -24
  131. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/TaggedTemplateExpression.js +0 -16
  132. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/TemplateElement.js +0 -12
  133. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/Text.js +0 -52
  134. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/TitleElement.js +0 -21
  135. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/TransitionDirective.js +0 -19
  136. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/UpdateExpression.js +0 -29
  137. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/UseDirective.js +0 -18
  138. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/VariableDeclarator.js +0 -160
  139. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/a11y/constants.js +0 -319
  140. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/a11y/index.js +0 -977
  141. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/attribute.js +0 -125
  142. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/component.js +0 -177
  143. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/element.js +0 -160
  144. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/fragment.js +0 -15
  145. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/function.js +0 -24
  146. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/snippets.js +0 -17
  147. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/special-element.js +0 -16
  148. package/dist/utils/node_modules/svelte/src/compiler/phases/2-analyze/visitors/shared/utils.js +0 -301
  149. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/transform-client.js +0 -709
  150. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/transform-template/fix-attribute-casing.js +0 -18
  151. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/transform-template/index.js +0 -67
  152. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/transform-template/template.js +0 -162
  153. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/utils.js +0 -181
  154. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/AnimateDirective.js +0 -38
  155. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ArrowFunctionExpression.js +0 -11
  156. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/AssignmentExpression.js +0 -225
  157. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/AttachTag.js +0 -26
  158. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Attribute.js +0 -14
  159. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/AwaitBlock.js +0 -124
  160. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/AwaitExpression.js +0 -25
  161. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/BinaryExpression.js +0 -34
  162. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/BindDirective.js +0 -290
  163. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/BlockStatement.js +0 -32
  164. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/BreakStatement.js +0 -20
  165. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/CallExpression.js +0 -136
  166. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ClassBody.js +0 -111
  167. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Comment.js +0 -11
  168. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Component.js +0 -12
  169. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ConstTag.js +0 -134
  170. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/DebugTag.js +0 -28
  171. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/EachBlock.js +0 -367
  172. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ExportNamedDeclaration.js +0 -19
  173. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ExpressionStatement.js +0 -20
  174. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/ForOfStatement.js +0 -25
  175. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Fragment.js +0 -181
  176. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/FunctionDeclaration.js +0 -12
  177. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/FunctionExpression.js +0 -11
  178. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/HtmlTag.js +0 -49
  179. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Identifier.js +0 -45
  180. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/IfBlock.js +0 -90
  181. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/KeyBlock.js +0 -39
  182. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/LabeledStatement.js +0 -64
  183. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/LetDirective.js +0 -55
  184. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/MemberExpression.js +0 -23
  185. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/OnDirective.js +0 -38
  186. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/Program.js +0 -153
  187. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/RegularElement.js +0 -791
  188. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js +0 -91
  189. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SlotElement.js +0 -94
  190. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SnippetBlock.js +0 -94
  191. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SpreadAttribute.js +0 -10
  192. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteBody.js +0 -11
  193. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteBoundary.js +0 -126
  194. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteComponent.js +0 -13
  195. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteDocument.js +0 -11
  196. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteElement.js +0 -157
  197. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteFragment.js +0 -17
  198. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteHead.js +0 -23
  199. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteSelf.js +0 -13
  200. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/SvelteWindow.js +0 -11
  201. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/TitleElement.js +0 -48
  202. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/TransitionDirective.js +0 -41
  203. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/UpdateExpression.js +0 -55
  204. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/UseDirective.js +0 -49
  205. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/VariableDeclaration.js +0 -422
  206. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js +0 -530
  207. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/declarations.js +0 -53
  208. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js +0 -263
  209. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/events.js +0 -176
  210. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/fragment.js +0 -185
  211. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/function.js +0 -17
  212. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/special_element.js +0 -22
  213. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/client/visitors/shared/utils.js +0 -513
  214. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/css/index.js +0 -479
  215. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/index.js +0 -118
  216. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/transform-server.js +0 -423
  217. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/AssignmentExpression.js +0 -107
  218. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/AwaitBlock.js +0 -37
  219. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/AwaitExpression.js +0 -40
  220. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/CallExpression.js +0 -71
  221. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/ClassBody.js +0 -81
  222. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/Component.js +0 -12
  223. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/ConstTag.js +0 -49
  224. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/DebugTag.js +0 -24
  225. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js +0 -80
  226. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/ExpressionStatement.js +0 -23
  227. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/Fragment.js +0 -53
  228. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/HtmlTag.js +0 -26
  229. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/Identifier.js +0 -19
  230. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/IfBlock.js +0 -39
  231. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/KeyBlock.js +0 -22
  232. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/LabeledStatement.js +0 -24
  233. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/MemberExpression.js +0 -19
  234. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/Program.js +0 -25
  235. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/PropertyDefinition.js +0 -37
  236. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js +0 -255
  237. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/RenderTag.js +0 -51
  238. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SlotElement.js +0 -77
  239. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SnippetBlock.js +0 -29
  240. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SpreadAttribute.js +0 -10
  241. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js +0 -71
  242. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteComponent.js +0 -12
  243. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteElement.js +0 -102
  244. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteFragment.js +0 -11
  245. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteHead.js +0 -25
  246. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/SvelteSelf.js +0 -12
  247. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/TitleElement.js +0 -21
  248. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/UpdateExpression.js +0 -26
  249. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/VariableDeclaration.js +0 -212
  250. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/shared/component.js +0 -360
  251. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js +0 -563
  252. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js +0 -407
  253. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/shared/assignments.js +0 -93
  254. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/shared/transform-async.js +0 -114
  255. package/dist/utils/node_modules/svelte/src/compiler/phases/3-transform/utils.js +0 -451
  256. package/dist/utils/node_modules/svelte/src/compiler/phases/bindings.js +0 -227
  257. package/dist/utils/node_modules/svelte/src/compiler/phases/css.js +0 -14
  258. package/dist/utils/node_modules/svelte/src/compiler/phases/nodes.js +0 -245
  259. package/dist/utils/node_modules/svelte/src/compiler/phases/patterns.js +0 -27
  260. package/dist/utils/node_modules/svelte/src/compiler/phases/scope.js +0 -1412
  261. package/dist/utils/node_modules/svelte/src/compiler/preprocess/decode_sourcemap.js +0 -96
  262. package/dist/utils/node_modules/svelte/src/compiler/preprocess/index.js +0 -368
  263. package/dist/utils/node_modules/svelte/src/compiler/preprocess/replace_in_code.js +0 -72
  264. package/dist/utils/node_modules/svelte/src/compiler/print/index.js +0 -890
  265. package/dist/utils/node_modules/svelte/src/compiler/state.js +0 -144
  266. package/dist/utils/node_modules/svelte/src/compiler/utils/assert.js +0 -9
  267. package/dist/utils/node_modules/svelte/src/compiler/utils/ast.js +0 -639
  268. package/dist/utils/node_modules/svelte/src/compiler/utils/builders.js +0 -698
  269. package/dist/utils/node_modules/svelte/src/compiler/utils/compile_diagnostic.js +0 -107
  270. package/dist/utils/node_modules/svelte/src/compiler/utils/extract_svelte_ignore.js +0 -104
  271. package/dist/utils/node_modules/svelte/src/compiler/utils/mapped_code.js +0 -454
  272. package/dist/utils/node_modules/svelte/src/compiler/utils/push_array.js +0 -13
  273. package/dist/utils/node_modules/svelte/src/compiler/utils/sanitize_template_string.js +0 -7
  274. package/dist/utils/node_modules/svelte/src/compiler/utils/slot.js +0 -20
  275. package/dist/utils/node_modules/svelte/src/compiler/utils/string.js +0 -9
  276. package/dist/utils/node_modules/svelte/src/compiler/validate-options.js +0 -324
  277. package/dist/utils/node_modules/svelte/src/compiler/warnings.js +0 -845
  278. package/dist/utils/node_modules/svelte/src/constants.js +0 -64
  279. package/dist/utils/node_modules/svelte/src/easing/index.js +0 -286
  280. package/dist/utils/node_modules/svelte/src/escaping.js +0 -26
  281. package/dist/utils/node_modules/svelte/src/events/index.js +0 -1
  282. package/dist/utils/node_modules/svelte/src/html-tree-validation.js +0 -238
  283. package/dist/utils/node_modules/svelte/src/index-client.js +0 -255
  284. package/dist/utils/node_modules/svelte/src/index-server.js +0 -56
  285. package/dist/utils/node_modules/svelte/src/internal/client/constants.js +0 -73
  286. package/dist/utils/node_modules/svelte/src/internal/client/context.js +0 -258
  287. package/dist/utils/node_modules/svelte/src/internal/client/dev/assign.js +0 -78
  288. package/dist/utils/node_modules/svelte/src/internal/client/dev/console-log.js +0 -35
  289. package/dist/utils/node_modules/svelte/src/internal/client/dev/css.js +0 -31
  290. package/dist/utils/node_modules/svelte/src/internal/client/dev/debug.js +0 -500
  291. package/dist/utils/node_modules/svelte/src/internal/client/dev/elements.js +0 -63
  292. package/dist/utils/node_modules/svelte/src/internal/client/dev/equality.js +0 -101
  293. package/dist/utils/node_modules/svelte/src/internal/client/dev/hmr.js +0 -89
  294. package/dist/utils/node_modules/svelte/src/internal/client/dev/inspect.js +0 -72
  295. package/dist/utils/node_modules/svelte/src/internal/client/dev/legacy.js +0 -25
  296. package/dist/utils/node_modules/svelte/src/internal/client/dev/ownership.js +0 -81
  297. package/dist/utils/node_modules/svelte/src/internal/client/dev/tracing.js +0 -162
  298. package/dist/utils/node_modules/svelte/src/internal/client/dev/validation.js +0 -16
  299. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/async.js +0 -64
  300. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/await.js +0 -142
  301. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/boundary.js +0 -507
  302. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/branches.js +0 -227
  303. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/css-props.js +0 -28
  304. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/each.js +0 -666
  305. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/html.js +0 -121
  306. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/if.js +0 -70
  307. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/key.js +0 -33
  308. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/slot.js +0 -44
  309. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/snippet.js +0 -103
  310. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/svelte-component.js +0 -26
  311. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/svelte-element.js +0 -152
  312. package/dist/utils/node_modules/svelte/src/internal/client/dom/blocks/svelte-head.js +0 -59
  313. package/dist/utils/node_modules/svelte/src/internal/client/dom/css.js +0 -32
  314. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/actions.js +0 -43
  315. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/attachments.js +0 -33
  316. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/attributes.js +0 -657
  317. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/document.js +0 -17
  318. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/input.js +0 -312
  319. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/media.js +0 -232
  320. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/navigator.js +0 -11
  321. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/props.js +0 -22
  322. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/select.js +0 -159
  323. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js +0 -76
  324. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/size.js +0 -108
  325. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/this.js +0 -61
  326. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/universal.js +0 -75
  327. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/bindings/window.js +0 -66
  328. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/class.js +0 -51
  329. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/custom-element.js +0 -338
  330. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/customizable-select.js +0 -98
  331. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/events.js +0 -338
  332. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/misc.js +0 -58
  333. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/style.js +0 -57
  334. package/dist/utils/node_modules/svelte/src/internal/client/dom/elements/transitions.js +0 -472
  335. package/dist/utils/node_modules/svelte/src/internal/client/dom/hydration.js +0 -120
  336. package/dist/utils/node_modules/svelte/src/internal/client/dom/legacy/event-modifiers.js +0 -127
  337. package/dist/utils/node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js +0 -82
  338. package/dist/utils/node_modules/svelte/src/internal/client/dom/legacy/misc.js +0 -68
  339. package/dist/utils/node_modules/svelte/src/internal/client/dom/operations.js +0 -260
  340. package/dist/utils/node_modules/svelte/src/internal/client/dom/reconciler.js +0 -6
  341. package/dist/utils/node_modules/svelte/src/internal/client/dom/task.js +0 -42
  342. package/dist/utils/node_modules/svelte/src/internal/client/dom/template.js +0 -388
  343. package/dist/utils/node_modules/svelte/src/internal/client/error-handling.js +0 -116
  344. package/dist/utils/node_modules/svelte/src/internal/client/errors.js +0 -491
  345. package/dist/utils/node_modules/svelte/src/internal/client/hydratable.js +0 -33
  346. package/dist/utils/node_modules/svelte/src/internal/client/index.js +0 -184
  347. package/dist/utils/node_modules/svelte/src/internal/client/legacy.js +0 -46
  348. package/dist/utils/node_modules/svelte/src/internal/client/loop.js +0 -48
  349. package/dist/utils/node_modules/svelte/src/internal/client/proxy.js +0 -432
  350. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/async.js +0 -302
  351. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/batch.js +0 -988
  352. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/deriveds.js +0 -394
  353. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/effects.js +0 -717
  354. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/equality.js +0 -31
  355. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/props.js +0 -430
  356. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/sources.js +0 -368
  357. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/status.js +0 -25
  358. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/store.js +0 -203
  359. package/dist/utils/node_modules/svelte/src/internal/client/reactivity/utils.js +0 -40
  360. package/dist/utils/node_modules/svelte/src/internal/client/render.js +0 -319
  361. package/dist/utils/node_modules/svelte/src/internal/client/runtime.js +0 -831
  362. package/dist/utils/node_modules/svelte/src/internal/client/timing.js +0 -16
  363. package/dist/utils/node_modules/svelte/src/internal/client/validate.js +0 -88
  364. package/dist/utils/node_modules/svelte/src/internal/client/warnings.js +0 -271
  365. package/dist/utils/node_modules/svelte/src/internal/disclose-version.js +0 -6
  366. package/dist/utils/node_modules/svelte/src/internal/flags/async.js +0 -3
  367. package/dist/utils/node_modules/svelte/src/internal/flags/index.js +0 -23
  368. package/dist/utils/node_modules/svelte/src/internal/flags/legacy.js +0 -3
  369. package/dist/utils/node_modules/svelte/src/internal/flags/tracing.js +0 -3
  370. package/dist/utils/node_modules/svelte/src/internal/index.js +0 -5
  371. package/dist/utils/node_modules/svelte/src/internal/server/abort-signal.js +0 -13
  372. package/dist/utils/node_modules/svelte/src/internal/server/blocks/html.js +0 -11
  373. package/dist/utils/node_modules/svelte/src/internal/server/blocks/snippet.js +0 -24
  374. package/dist/utils/node_modules/svelte/src/internal/server/context.js +0 -122
  375. package/dist/utils/node_modules/svelte/src/internal/server/crypto.js +0 -41
  376. package/dist/utils/node_modules/svelte/src/internal/server/dev.js +0 -115
  377. package/dist/utils/node_modules/svelte/src/internal/server/errors.js +0 -118
  378. package/dist/utils/node_modules/svelte/src/internal/server/hydratable.js +0 -142
  379. package/dist/utils/node_modules/svelte/src/internal/server/hydration.js +0 -6
  380. package/dist/utils/node_modules/svelte/src/internal/server/index.js +0 -490
  381. package/dist/utils/node_modules/svelte/src/internal/server/render-context.js +0 -86
  382. package/dist/utils/node_modules/svelte/src/internal/server/renderer.js +0 -770
  383. package/dist/utils/node_modules/svelte/src/internal/server/warnings.js +0 -29
  384. package/dist/utils/node_modules/svelte/src/internal/shared/attributes.js +0 -223
  385. package/dist/utils/node_modules/svelte/src/internal/shared/clone.js +0 -137
  386. package/dist/utils/node_modules/svelte/src/internal/shared/dev.js +0 -65
  387. package/dist/utils/node_modules/svelte/src/internal/shared/errors.js +0 -134
  388. package/dist/utils/node_modules/svelte/src/internal/shared/utils.js +0 -118
  389. package/dist/utils/node_modules/svelte/src/internal/shared/validate.js +0 -47
  390. package/dist/utils/node_modules/svelte/src/internal/shared/warnings.js +0 -40
  391. package/dist/utils/node_modules/svelte/src/legacy/legacy-client.js +0 -280
  392. package/dist/utils/node_modules/svelte/src/legacy/legacy-server.js +0 -112
  393. package/dist/utils/node_modules/svelte/src/motion/index.js +0 -32
  394. package/dist/utils/node_modules/svelte/src/motion/spring.js +0 -369
  395. package/dist/utils/node_modules/svelte/src/motion/tweened.js +0 -306
  396. package/dist/utils/node_modules/svelte/src/motion/utils.js +0 -7
  397. package/dist/utils/node_modules/svelte/src/reactivity/create-subscriber.js +0 -95
  398. package/dist/utils/node_modules/svelte/src/reactivity/date.js +0 -118
  399. package/dist/utils/node_modules/svelte/src/reactivity/index-client.js +0 -7
  400. package/dist/utils/node_modules/svelte/src/reactivity/index-server.js +0 -23
  401. package/dist/utils/node_modules/svelte/src/reactivity/map.js +0 -273
  402. package/dist/utils/node_modules/svelte/src/reactivity/media-query.js +0 -55
  403. package/dist/utils/node_modules/svelte/src/reactivity/reactive-value.js +0 -24
  404. package/dist/utils/node_modules/svelte/src/reactivity/set.js +0 -213
  405. package/dist/utils/node_modules/svelte/src/reactivity/url-search-params.js +0 -174
  406. package/dist/utils/node_modules/svelte/src/reactivity/url.js +0 -205
  407. package/dist/utils/node_modules/svelte/src/reactivity/window/index.js +0 -161
  408. package/dist/utils/node_modules/svelte/src/server/index.js +0 -1
  409. package/dist/utils/node_modules/svelte/src/store/index-client.js +0 -169
  410. package/dist/utils/node_modules/svelte/src/store/index-server.js +0 -101
  411. package/dist/utils/node_modules/svelte/src/store/shared/index.js +0 -209
  412. package/dist/utils/node_modules/svelte/src/store/utils.js +0 -36
  413. package/dist/utils/node_modules/svelte/src/transition/index.js +0 -300
  414. package/dist/utils/node_modules/svelte/src/utils.js +0 -491
  415. package/dist/utils/node_modules/svelte/src/version.js +0 -8
  416. package/dist/utils/node_modules/typescript/LICENSE.txt +0 -55
  417. package/dist/utils/node_modules/typescript/README.md +0 -50
  418. package/dist/utils/node_modules/typescript/SECURITY.md +0 -41
  419. package/dist/utils/node_modules/typescript/ThirdPartyNoticeText.txt +0 -193
  420. package/dist/utils/node_modules/typescript/bin/tsc +0 -2
  421. package/dist/utils/node_modules/typescript/bin/tsserver +0 -2
  422. package/dist/utils/node_modules/typescript/lib/_tsc.js +0 -133818
  423. package/dist/utils/node_modules/typescript/lib/_tsserver.js +0 -659
  424. package/dist/utils/node_modules/typescript/lib/_typingsInstaller.js +0 -222
  425. package/dist/utils/node_modules/typescript/lib/cs/diagnosticMessages.generated.json +0 -2122
  426. package/dist/utils/node_modules/typescript/lib/de/diagnosticMessages.generated.json +0 -2122
  427. package/dist/utils/node_modules/typescript/lib/es/diagnosticMessages.generated.json +0 -2122
  428. package/dist/utils/node_modules/typescript/lib/fr/diagnosticMessages.generated.json +0 -2122
  429. package/dist/utils/node_modules/typescript/lib/it/diagnosticMessages.generated.json +0 -2122
  430. package/dist/utils/node_modules/typescript/lib/ja/diagnosticMessages.generated.json +0 -2122
  431. package/dist/utils/node_modules/typescript/lib/ko/diagnosticMessages.generated.json +0 -2122
  432. package/dist/utils/node_modules/typescript/lib/pl/diagnosticMessages.generated.json +0 -2122
  433. package/dist/utils/node_modules/typescript/lib/pt-br/diagnosticMessages.generated.json +0 -2122
  434. package/dist/utils/node_modules/typescript/lib/ru/diagnosticMessages.generated.json +0 -2122
  435. package/dist/utils/node_modules/typescript/lib/tr/diagnosticMessages.generated.json +0 -2122
  436. package/dist/utils/node_modules/typescript/lib/tsc.js +0 -8
  437. package/dist/utils/node_modules/typescript/lib/tsserver.js +0 -8
  438. package/dist/utils/node_modules/typescript/lib/tsserverlibrary.js +0 -21
  439. package/dist/utils/node_modules/typescript/lib/typesMap.json +0 -497
  440. package/dist/utils/node_modules/typescript/lib/typescript.js +0 -200276
  441. package/dist/utils/node_modules/typescript/lib/typingsInstaller.js +0 -8
  442. package/dist/utils/node_modules/typescript/lib/watchGuard.js +0 -53
  443. package/dist/utils/node_modules/typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -2122
  444. package/dist/utils/node_modules/typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -2122
  445. package/dist/utils/node_modules/typescript/package.json +0 -120
  446. package/dist/utils/package.json +0 -27
@@ -1,877 +0,0 @@
1
- /** @import { Expression, Identifier, SourceLocation } from 'estree' */
2
- /** @import { Location } from 'locate-character' */
3
- /** @import { AST } from '#compiler' */
4
- /** @import { Parser } from '../index.js' */
5
- import { is_void } from '../../../../utils.js';
6
- import read_expression from '../read/expression.js';
7
- import { read_script } from '../read/script.js';
8
- import read_style from '../read/style.js';
9
- import { decode_character_references } from '../utils/html.js';
10
- import * as e from '../../../errors.js';
11
- import * as w from '../../../warnings.js';
12
- import { create_fragment } from '../utils/create.js';
13
- import { create_attribute, ExpressionMetadata, is_element_node } from '../../nodes.js';
14
- import { get_attribute_expression, is_expression_attribute } from '../../../utils/ast.js';
15
- import { closing_tag_omitted } from '../../../../html-tree-validation.js';
16
- import { list } from '../../../utils/string.js';
17
- import { locator } from '../../../state.js';
18
- import * as b from '#compiler/builders';
19
-
20
- const regex_invalid_unquoted_attribute_value = /^(\/>|[\s"'=<>`])/;
21
- const regex_closing_textarea_tag = /^<\/textarea(\s[^>]*)?>/i;
22
- const regex_closing_comment = /-->/;
23
- const regex_whitespace_or_slash_or_closing_tag = /(\s|\/|>)/;
24
- const regex_token_ending_character = /[\s=/>"']/;
25
- const regex_starts_with_quote_characters = /^["']/;
26
- const regex_attribute_value = /^(?:"([^"]*)"|'([^'])*'|([^>\s]+))/;
27
- const regex_valid_element_name =
28
- /^(?:![a-zA-Z]+|[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?|[a-zA-Z][a-zA-Z0-9]*:[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9])$/;
29
- export const regex_valid_component_name =
30
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#identifiers adjusted for our needs
31
- // (must start with uppercase letter if no dots, can contain dots)
32
- /^(?:\p{Lu}[$\u200c\u200d\p{ID_Continue}.]*|\p{ID_Start}[$\u200c\u200d\p{ID_Continue}]*(?:\.[$\u200c\u200d\p{ID_Continue}]+)+)$/u;
33
-
34
- /** @type {Map<string, AST.ElementLike['type']>} */
35
- const root_only_meta_tags = new Map([
36
- ['svelte:head', 'SvelteHead'],
37
- ['svelte:options', 'SvelteOptions'],
38
- ['svelte:window', 'SvelteWindow'],
39
- ['svelte:document', 'SvelteDocument'],
40
- ['svelte:body', 'SvelteBody']
41
- ]);
42
-
43
- /** @type {Map<string, AST.ElementLike['type']>} */
44
- const meta_tags = new Map([
45
- ...root_only_meta_tags,
46
- ['svelte:element', 'SvelteElement'],
47
- ['svelte:component', 'SvelteComponent'],
48
- ['svelte:self', 'SvelteSelf'],
49
- ['svelte:fragment', 'SvelteFragment'],
50
- ['svelte:boundary', 'SvelteBoundary']
51
- ]);
52
-
53
- /** @param {Parser} parser */
54
- export default function element(parser) {
55
- const start = parser.index++;
56
-
57
- let parent = parser.current();
58
-
59
- if (parser.eat('!--')) {
60
- const data = parser.read_until(regex_closing_comment);
61
- parser.eat('-->', true);
62
-
63
- parser.append({
64
- type: 'Comment',
65
- start,
66
- end: parser.index,
67
- data
68
- });
69
-
70
- return;
71
- }
72
-
73
- if (parser.eat('/')) {
74
- const name = parser.read_until(regex_whitespace_or_slash_or_closing_tag);
75
-
76
- parser.allow_whitespace();
77
- parser.eat('>', true);
78
-
79
- if (is_void(name)) {
80
- e.void_element_invalid_content(start);
81
- }
82
-
83
- // close any elements that don't have their own closing tags, e.g. <div><p></div>
84
- while (/** @type {AST.RegularElement} */ (parent).name !== name) {
85
- if (parser.loose) {
86
- // If the previous element did interpret the next opening tag as an attribute, backtrack
87
- if (is_element_node(parent)) {
88
- const last = parent.attributes.at(-1);
89
- if (last?.type === 'Attribute' && last.name === `<${name}`) {
90
- parser.index = last.start;
91
- parent.attributes.pop();
92
- break;
93
- }
94
- }
95
- }
96
-
97
- if (parent.type === 'RegularElement') {
98
- if (!parser.last_auto_closed_tag || parser.last_auto_closed_tag.tag !== name) {
99
- const end = parent.fragment.nodes[0]?.start ?? start;
100
- w.element_implicitly_closed(
101
- { start: parent.start, end },
102
- `</${name}>`,
103
- `</${parent.name}>`
104
- );
105
- }
106
- } else if (!parser.loose) {
107
- if (parser.last_auto_closed_tag && parser.last_auto_closed_tag.tag === name) {
108
- e.element_invalid_closing_tag_autoclosed(start, name, parser.last_auto_closed_tag.reason);
109
- } else {
110
- e.element_invalid_closing_tag(start, name);
111
- }
112
- }
113
-
114
- parent.end = start;
115
- parser.pop();
116
-
117
- parent = parser.current();
118
- }
119
-
120
- parent.end = parser.index;
121
- parser.pop();
122
-
123
- if (parser.last_auto_closed_tag && parser.stack.length < parser.last_auto_closed_tag.depth) {
124
- parser.last_auto_closed_tag = undefined;
125
- }
126
-
127
- return;
128
- }
129
-
130
- const tag = read_tag(parser, regex_whitespace_or_slash_or_closing_tag);
131
-
132
- if (tag.name.startsWith('svelte:') && !meta_tags.has(tag.name)) {
133
- const bounds = { start: start + 1, end: start + 1 + tag.name.length };
134
- e.svelte_meta_invalid_tag(bounds, list(Array.from(meta_tags.keys())));
135
- }
136
-
137
- if (!regex_valid_element_name.test(tag.name) && !regex_valid_component_name.test(tag.name)) {
138
- // <div. -> in the middle of typing -> allow in loose mode
139
- if (!parser.loose || !tag.name.endsWith('.')) {
140
- const bounds = { start: start + 1, end: start + 1 + tag.name.length };
141
- e.tag_invalid_name(bounds);
142
- }
143
- }
144
-
145
- if (root_only_meta_tags.has(tag.name)) {
146
- if (tag.name in parser.meta_tags) {
147
- e.svelte_meta_duplicate(start, tag.name);
148
- }
149
-
150
- if (parent.type !== 'Root') {
151
- e.svelte_meta_invalid_placement(start, tag.name);
152
- }
153
-
154
- parser.meta_tags[tag.name] = true;
155
- }
156
-
157
- const type = meta_tags.has(tag.name)
158
- ? meta_tags.get(tag.name)
159
- : regex_valid_component_name.test(tag.name) || (parser.loose && tag.name.endsWith('.'))
160
- ? 'Component'
161
- : tag.name === 'title' && parent_is_head(parser.stack)
162
- ? 'TitleElement'
163
- : // TODO Svelte 6/7: once slots are removed in favor of snippets, always keep slot as a regular element
164
- tag.name === 'slot' && !parent_is_shadowroot_template(parser.stack)
165
- ? 'SlotElement'
166
- : 'RegularElement';
167
-
168
- /** @type {AST.ElementLike} */
169
- const element =
170
- type === 'RegularElement'
171
- ? {
172
- type,
173
- start,
174
- end: -1,
175
- name: tag.name,
176
- name_loc: tag.loc,
177
- attributes: [],
178
- fragment: create_fragment(true),
179
- metadata: {
180
- svg: false,
181
- mathml: false,
182
- scoped: false,
183
- has_spread: false,
184
- path: [],
185
- synthetic_value_node: null
186
- }
187
- }
188
- : /** @type {AST.ElementLike} */ ({
189
- type,
190
- start,
191
- end: -1,
192
- name: tag.name,
193
- name_loc: tag.loc,
194
- attributes: [],
195
- fragment: create_fragment(true),
196
- metadata: {
197
- // unpopulated at first, differs between types
198
- }
199
- });
200
-
201
- parser.allow_whitespace();
202
-
203
- if (parent.type === 'RegularElement' && closing_tag_omitted(parent.name, tag.name)) {
204
- const end = parent.fragment.nodes[0]?.start ?? start;
205
- w.element_implicitly_closed({ start: parent.start, end }, `<${tag.name}>`, `</${parent.name}>`);
206
- parent.end = start;
207
- parser.pop();
208
- parser.last_auto_closed_tag = {
209
- tag: parent.name,
210
- reason: tag.name,
211
- depth: parser.stack.length
212
- };
213
- }
214
-
215
- /** @type {string[]} */
216
- const unique_names = [];
217
-
218
- const current = parser.current();
219
- const is_top_level_script_or_style =
220
- (tag.name === 'script' || tag.name === 'style') && current.type === 'Root';
221
-
222
- const read = is_top_level_script_or_style ? read_static_attribute : read_attribute;
223
-
224
- let attribute;
225
- while ((attribute = read(parser))) {
226
- // animate and transition can only be specified once per element so no need
227
- // to check here, use can be used multiple times, same for the on directive
228
- // finally let already has error handling in case of duplicate variable names
229
- if (
230
- attribute.type === 'Attribute' ||
231
- attribute.type === 'BindDirective' ||
232
- attribute.type === 'StyleDirective' ||
233
- attribute.type === 'ClassDirective'
234
- ) {
235
- // `bind:attribute` and `attribute` are just the same but `class:attribute`,
236
- // `style:attribute` and `attribute` are different and should be allowed together
237
- // so we concatenate the type while normalizing the type for BindDirective
238
- const type = attribute.type === 'BindDirective' ? 'Attribute' : attribute.type;
239
- if (unique_names.includes(type + attribute.name)) {
240
- e.attribute_duplicate(attribute);
241
- // <svelte:element bind:this this=..> is allowed
242
- } else if (attribute.name !== 'this') {
243
- unique_names.push(type + attribute.name);
244
- }
245
- }
246
-
247
- element.attributes.push(attribute);
248
- parser.allow_whitespace();
249
- }
250
-
251
- if (element.type === 'Component') {
252
- element.metadata.expression = new ExpressionMetadata();
253
- }
254
-
255
- if (element.type === 'SvelteComponent') {
256
- const index = element.attributes.findIndex(
257
- /** @param {any} attr */
258
- (attr) => attr.type === 'Attribute' && attr.name === 'this'
259
- );
260
- if (index === -1) {
261
- e.svelte_component_missing_this(start);
262
- }
263
-
264
- const definition = /** @type {AST.Attribute} */ (element.attributes.splice(index, 1)[0]);
265
- if (!is_expression_attribute(definition)) {
266
- e.svelte_component_invalid_this(definition.start);
267
- }
268
-
269
- element.expression = get_attribute_expression(definition);
270
- element.metadata.expression = new ExpressionMetadata();
271
- }
272
-
273
- if (element.type === 'SvelteElement') {
274
- const index = element.attributes.findIndex(
275
- /** @param {any} attr */
276
- (attr) => attr.type === 'Attribute' && attr.name === 'this'
277
- );
278
- if (index === -1) {
279
- e.svelte_element_missing_this(start);
280
- }
281
-
282
- const definition = /** @type {AST.Attribute} */ (element.attributes.splice(index, 1)[0]);
283
-
284
- if (definition.value === true) {
285
- e.svelte_element_missing_this(definition);
286
- }
287
-
288
- if (!is_expression_attribute(definition)) {
289
- w.svelte_element_invalid_this(definition);
290
-
291
- // note that this is wrong, in the case of e.g. `this="h{n}"` — it will result in `<h>`.
292
- // it would be much better to just error here, but we are preserving the existing buggy
293
- // Svelte 4 behaviour out of an overabundance of caution regarding breaking changes.
294
- // TODO in 6.0, error
295
- const chunk = /** @type {Array<AST.ExpressionTag | AST.Text>} */ (definition.value)[0];
296
- element.tag =
297
- chunk.type === 'Text'
298
- ? {
299
- type: 'Literal',
300
- value: chunk.data,
301
- raw: `'${chunk.raw}'`,
302
- start: chunk.start,
303
- end: chunk.end
304
- }
305
- : chunk.expression;
306
- } else {
307
- element.tag = get_attribute_expression(definition);
308
- }
309
-
310
- element.metadata.expression = new ExpressionMetadata();
311
- }
312
-
313
- if (is_top_level_script_or_style) {
314
- parser.eat('>', true);
315
-
316
- /** @type {AST.Comment | null} */
317
- let prev_comment = null;
318
- for (let i = current.fragment.nodes.length - 1; i >= 0; i--) {
319
- const node = current.fragment.nodes[i];
320
-
321
- if (i === current.fragment.nodes.length - 1 && node.end !== start) {
322
- break;
323
- }
324
-
325
- if (node.type === 'Comment') {
326
- prev_comment = node;
327
- break;
328
- } else if (node.type !== 'Text' || node.data.trim()) {
329
- break;
330
- }
331
- }
332
-
333
- if (tag.name === 'script') {
334
- const content = read_script(parser, start, element.attributes);
335
- if (prev_comment) {
336
- // We take advantage of the fact that the root will never have leadingComments set,
337
- // and set the previous comment to it so that the warning mechanism can later
338
- // inspect the root and see if there was a html comment before it silencing specific warnings.
339
- content.content.leadingComments = [{ type: 'Line', value: prev_comment.data }];
340
- }
341
-
342
- if (content.context === 'module') {
343
- if (current.module) e.script_duplicate(start);
344
- current.module = content;
345
- } else {
346
- if (current.instance) e.script_duplicate(start);
347
- current.instance = content;
348
- }
349
- } else {
350
- const content = read_style(parser, start, element.attributes);
351
- content.content.comment = prev_comment;
352
-
353
- if (current.css) e.style_duplicate(start);
354
- current.css = content;
355
- }
356
- return;
357
- }
358
-
359
- parser.append(element);
360
-
361
- const self_closing = parser.eat('/') || is_void(tag.name);
362
- const closed = parser.eat('>', true, false);
363
-
364
- // Loose parsing mode
365
- if (!closed) {
366
- // We may have eaten an opening `<` of the next element and treated it as an attribute...
367
- const last = element.attributes.at(-1);
368
- if (last?.type === 'Attribute' && last.name === '<') {
369
- parser.index = last.start;
370
- element.attributes.pop();
371
- } else {
372
- // ... or we may have eaten part of a following block ...
373
- const prev_1 = parser.template[parser.index - 1];
374
- const prev_2 = parser.template[parser.index - 2];
375
- const current = parser.template[parser.index];
376
- if (prev_2 === '{' && prev_1 === '/') {
377
- parser.index -= 2;
378
- } else if (prev_1 === '{' && (current === '#' || current === '@' || current === ':')) {
379
- parser.index -= 1;
380
- } else {
381
- // ... or we're followed by whitespace, for example near the end of the template,
382
- // which we want to take in so that language tools has more room to work with
383
- parser.allow_whitespace();
384
- }
385
- }
386
- }
387
-
388
- if (self_closing || !closed) {
389
- // don't push self-closing elements onto the stack
390
- element.end = parser.index;
391
- } else if (tag.name === 'textarea') {
392
- // special case
393
- element.fragment.nodes = read_sequence(
394
- parser,
395
- () => regex_closing_textarea_tag.test(parser.template.slice(parser.index)),
396
- 'inside <textarea>'
397
- );
398
- parser.read(regex_closing_textarea_tag);
399
- element.end = parser.index;
400
- } else if (tag.name === 'script' || tag.name === 'style') {
401
- // special case
402
- const start = parser.index;
403
- const data = parser.read_until(new RegExp(`</${tag.name}>`));
404
- const end = parser.index;
405
-
406
- /** @type {AST.Text} */
407
- const node = {
408
- start,
409
- end,
410
- type: 'Text',
411
- data,
412
- raw: data
413
- };
414
-
415
- element.fragment.nodes.push(node);
416
- parser.eat(`</${tag.name}>`, true);
417
- element.end = parser.index;
418
- } else {
419
- parser.stack.push(element);
420
- parser.fragments.push(element.fragment);
421
- }
422
- }
423
-
424
- /** @param {AST.TemplateNode[]} stack */
425
- function parent_is_head(stack) {
426
- let i = stack.length;
427
- while (i--) {
428
- const { type } = stack[i];
429
- if (type === 'SvelteHead') return true;
430
- if (type === 'RegularElement' || type === 'Component') return false;
431
- }
432
- return false;
433
- }
434
-
435
- /** @param {AST.TemplateNode[]} stack */
436
- function parent_is_shadowroot_template(stack) {
437
- // https://developer.chrome.com/docs/css-ui/declarative-shadow-dom#building_a_declarative_shadow_root
438
- let i = stack.length;
439
- while (i--) {
440
- if (
441
- stack[i].type === 'RegularElement' &&
442
- /** @type {AST.RegularElement} */ (stack[i]).attributes.some(
443
- (a) => a.type === 'Attribute' && a.name === 'shadowrootmode'
444
- )
445
- ) {
446
- return true;
447
- }
448
- }
449
- return false;
450
- }
451
-
452
- /**
453
- * @param {Parser} parser
454
- * @returns {AST.Attribute | null}
455
- */
456
- function read_static_attribute(parser) {
457
- const start = parser.index;
458
-
459
- const tag = read_tag(parser, regex_token_ending_character);
460
- if (!tag.name) return null;
461
-
462
- /** @type {true | Array<AST.Text | AST.ExpressionTag>} */
463
- let value = true;
464
-
465
- if (parser.eat('=')) {
466
- parser.allow_whitespace();
467
- let raw = parser.match_regex(regex_attribute_value);
468
- if (!raw) {
469
- e.expected_attribute_value(parser.index);
470
- }
471
-
472
- parser.index += raw.length;
473
-
474
- const quoted = raw[0] === '"' || raw[0] === "'";
475
- if (quoted) {
476
- raw = raw.slice(1, -1);
477
- }
478
-
479
- value = [
480
- {
481
- start: parser.index - raw.length - (quoted ? 1 : 0),
482
- end: quoted ? parser.index - 1 : parser.index,
483
- type: 'Text',
484
- raw: raw,
485
- data: decode_character_references(raw, true)
486
- }
487
- ];
488
- }
489
-
490
- if (parser.match_regex(regex_starts_with_quote_characters)) {
491
- e.expected_token(parser.index, '=');
492
- }
493
-
494
- return create_attribute(tag.name, tag.loc, start, parser.index, value);
495
- }
496
-
497
- /**
498
- * @param {Parser} parser
499
- * @returns {AST.Attribute | AST.SpreadAttribute | AST.Directive | AST.AttachTag | null}
500
- */
501
- function read_attribute(parser) {
502
- const start = parser.index;
503
-
504
- if (parser.eat('{')) {
505
- parser.allow_whitespace();
506
-
507
- if (parser.eat('@attach')) {
508
- parser.require_whitespace();
509
-
510
- const expression = read_expression(parser);
511
- parser.allow_whitespace();
512
- parser.eat('}', true);
513
-
514
- /** @type {AST.AttachTag} */
515
- const attachment = {
516
- type: 'AttachTag',
517
- start,
518
- end: parser.index,
519
- expression,
520
- metadata: {
521
- expression: new ExpressionMetadata()
522
- }
523
- };
524
-
525
- return attachment;
526
- }
527
-
528
- if (parser.eat('...')) {
529
- const expression = read_expression(parser);
530
-
531
- parser.allow_whitespace();
532
- parser.eat('}', true);
533
-
534
- /** @type {AST.SpreadAttribute} */
535
- const spread = {
536
- type: 'SpreadAttribute',
537
- start,
538
- end: parser.index,
539
- expression,
540
- metadata: {
541
- expression: new ExpressionMetadata()
542
- }
543
- };
544
-
545
- return spread;
546
- } else {
547
- const id = parser.read_identifier();
548
-
549
- if (id.name === '') {
550
- if (
551
- parser.loose &&
552
- (parser.match('#') || parser.match('/') || parser.match('@') || parser.match(':'))
553
- ) {
554
- // We're likely in an unclosed opening tag and did read part of a block.
555
- // Return null to not crash the parser so it can continue with closing the tag.
556
- return null;
557
- } else if (parser.loose && parser.match('}')) {
558
- // Likely in the middle of typing, just created the shorthand
559
- } else {
560
- e.attribute_empty_shorthand(start);
561
- }
562
- }
563
-
564
- parser.allow_whitespace();
565
- parser.eat('}', true);
566
-
567
- /** @type {AST.ExpressionTag} */
568
- const expression = {
569
- type: 'ExpressionTag',
570
- start: id.start,
571
- end: id.end,
572
- expression: id,
573
- metadata: {
574
- expression: new ExpressionMetadata()
575
- }
576
- };
577
-
578
- return create_attribute(id.name, id.loc, start, parser.index, expression);
579
- }
580
- }
581
-
582
- const tag = read_tag(parser, regex_token_ending_character);
583
-
584
- if (!tag.name) return null;
585
-
586
- let end = parser.index;
587
-
588
- parser.allow_whitespace();
589
-
590
- const colon_index = tag.name.indexOf(':');
591
- const type = colon_index !== -1 && get_directive_type(tag.name.slice(0, colon_index));
592
-
593
- /** @type {true | AST.ExpressionTag | Array<AST.Text | AST.ExpressionTag>} */
594
- let value = true;
595
- if (parser.eat('=')) {
596
- parser.allow_whitespace();
597
-
598
- if (parser.template[parser.index] === '/' && parser.template[parser.index + 1] === '>') {
599
- const char_start = parser.index;
600
- parser.index++; // consume '/'
601
- value = [
602
- {
603
- start: char_start,
604
- end: char_start + 1,
605
- type: 'Text',
606
- raw: '/',
607
- data: '/'
608
- }
609
- ];
610
- end = parser.index;
611
- } else {
612
- value = read_attribute_value(parser);
613
- end = parser.index;
614
- }
615
- } else if (parser.match_regex(regex_starts_with_quote_characters)) {
616
- e.expected_token(parser.index, '=');
617
- }
618
-
619
- if (type) {
620
- const [directive_name, ...modifiers] = tag.name.slice(colon_index + 1).split('|');
621
-
622
- if (directive_name === '') {
623
- e.directive_missing_name({ start, end: start + colon_index + 1 }, tag.name);
624
- }
625
-
626
- if (type === 'StyleDirective') {
627
- return {
628
- start,
629
- end,
630
- type,
631
- name: directive_name,
632
- name_loc: tag.loc,
633
- modifiers: /** @type {Array<'important'>} */ (modifiers),
634
- value,
635
- metadata: {
636
- expression: new ExpressionMetadata()
637
- }
638
- };
639
- }
640
-
641
- const first_value = value === true ? undefined : Array.isArray(value) ? value[0] : value;
642
-
643
- /** @type {Expression | null} */
644
- let expression = null;
645
-
646
- if (first_value) {
647
- const attribute_contains_text =
648
- /** @type {any[]} */ (value).length > 1 || first_value.type === 'Text';
649
- if (attribute_contains_text) {
650
- e.directive_invalid_value(/** @type {number} */ (first_value.start));
651
- } else {
652
- // TODO throw a parser error in a future version here if this `[ExpressionTag]` instead of `ExpressionTag`,
653
- // which means stringified value, which isn't allowed for some directives?
654
- expression = first_value.expression;
655
- }
656
- }
657
-
658
- const directive = /** @type {AST.Directive} */ ({
659
- start,
660
- end,
661
- type,
662
- name: directive_name,
663
- name_loc: tag.loc,
664
- expression,
665
- metadata: {
666
- expression: new ExpressionMetadata()
667
- }
668
- });
669
-
670
- // @ts-expect-error we do this separately from the declaration to avoid upsetting typescript
671
- directive.modifiers = modifiers;
672
-
673
- if (directive.type === 'TransitionDirective') {
674
- const direction = tag.name.slice(0, colon_index);
675
- directive.intro = direction === 'in' || direction === 'transition';
676
- directive.outro = direction === 'out' || direction === 'transition';
677
- }
678
-
679
- // Directive name is expression, e.g. <p class:isRed />
680
- if (
681
- (directive.type === 'BindDirective' || directive.type === 'ClassDirective') &&
682
- !directive.expression
683
- ) {
684
- directive.expression = /** @type {any} */ ({
685
- start: start + colon_index + 1,
686
- end,
687
- type: 'Identifier',
688
- name: directive.name
689
- });
690
- }
691
-
692
- return directive;
693
- }
694
-
695
- return create_attribute(tag.name, tag.loc, start, end, value);
696
- }
697
-
698
- /**
699
- * @param {string} name
700
- * @returns {any}
701
- */
702
- function get_directive_type(name) {
703
- if (name === 'use') return 'UseDirective';
704
- if (name === 'animate') return 'AnimateDirective';
705
- if (name === 'bind') return 'BindDirective';
706
- if (name === 'class') return 'ClassDirective';
707
- if (name === 'style') return 'StyleDirective';
708
- if (name === 'on') return 'OnDirective';
709
- if (name === 'let') return 'LetDirective';
710
- if (name === 'in' || name === 'out' || name === 'transition') return 'TransitionDirective';
711
- return false;
712
- }
713
-
714
- /**
715
- * @param {Parser} parser
716
- * @return {AST.ExpressionTag | Array<AST.ExpressionTag | AST.Text>}
717
- */
718
- function read_attribute_value(parser) {
719
- const quote_mark = parser.eat("'") ? "'" : parser.eat('"') ? '"' : null;
720
- if (quote_mark && parser.eat(quote_mark)) {
721
- return [
722
- {
723
- start: parser.index - 1,
724
- end: parser.index - 1,
725
- type: 'Text',
726
- raw: '',
727
- data: ''
728
- }
729
- ];
730
- }
731
-
732
- /** @type {Array<AST.ExpressionTag | AST.Text>} */
733
- let value;
734
- try {
735
- value = read_sequence(
736
- parser,
737
- () => {
738
- // handle common case of quote marks existing outside of regex for performance reasons
739
- if (quote_mark) return parser.match(quote_mark);
740
- return !!parser.match_regex(regex_invalid_unquoted_attribute_value);
741
- },
742
- 'in attribute value'
743
- );
744
- } catch (/** @type {any} */ error) {
745
- if (error.code === 'js_parse_error') {
746
- // if the attribute value didn't close + self-closing tag
747
- // eg: `<Component test={{a:1} />`
748
- // acorn may throw a `Unterminated regular expression` because of `/>`
749
- const pos = error.position?.[0];
750
- if (pos !== undefined && parser.template.slice(pos - 1, pos + 1) === '/>') {
751
- parser.index = pos;
752
- e.expected_token(pos, quote_mark || '}');
753
- }
754
- }
755
- throw error;
756
- }
757
-
758
- if (value.length === 0 && !quote_mark) {
759
- e.expected_attribute_value(parser.index);
760
- }
761
-
762
- if (quote_mark) parser.index += 1;
763
-
764
- if (quote_mark || value.length > 1 || value[0].type === 'Text') {
765
- return value;
766
- } else {
767
- return value[0];
768
- }
769
- }
770
-
771
- /**
772
- * @param {Parser} parser
773
- * @param {() => boolean} done
774
- * @param {string} location
775
- * @returns {any[]}
776
- */
777
- function read_sequence(parser, done, location) {
778
- /** @type {AST.Text} */
779
- let current_chunk = {
780
- start: parser.index,
781
- end: -1,
782
- type: 'Text',
783
- raw: '',
784
- data: ''
785
- };
786
-
787
- /** @type {Array<AST.Text | AST.ExpressionTag>} */
788
- const chunks = [];
789
-
790
- /** @param {number} end */
791
- function flush(end) {
792
- if (current_chunk.raw) {
793
- current_chunk.data = decode_character_references(current_chunk.raw, true);
794
- current_chunk.end = end;
795
- chunks.push(current_chunk);
796
- }
797
- }
798
-
799
- while (parser.index < parser.template.length) {
800
- const index = parser.index;
801
-
802
- if (done()) {
803
- flush(parser.index);
804
- return chunks;
805
- } else if (parser.eat('{')) {
806
- if (parser.match('#')) {
807
- const index = parser.index - 1;
808
- parser.eat('#');
809
- const name = parser.read_until(/[^a-z]/);
810
- e.block_invalid_placement(index, name, location);
811
- } else if (parser.match('@')) {
812
- const index = parser.index - 1;
813
- parser.eat('@');
814
- const name = parser.read_until(/[^a-z]/);
815
- e.tag_invalid_placement(index, name, location);
816
- }
817
-
818
- flush(parser.index - 1);
819
-
820
- parser.allow_whitespace();
821
- const expression = read_expression(parser);
822
- parser.allow_whitespace();
823
- parser.eat('}', true);
824
-
825
- /** @type {AST.ExpressionTag} */
826
- const chunk = {
827
- type: 'ExpressionTag',
828
- start: index,
829
- end: parser.index,
830
- expression,
831
- metadata: {
832
- expression: new ExpressionMetadata()
833
- }
834
- };
835
-
836
- chunks.push(chunk);
837
-
838
- current_chunk = {
839
- start: parser.index,
840
- end: -1,
841
- type: 'Text',
842
- raw: '',
843
- data: ''
844
- };
845
- } else {
846
- current_chunk.raw += parser.template[parser.index++];
847
- }
848
- }
849
-
850
- if (parser.loose) {
851
- return chunks;
852
- } else {
853
- e.unexpected_eof(parser.template.length);
854
- }
855
- }
856
-
857
- /**
858
- * @param {Parser} parser
859
- * @param {RegExp} regex
860
- * @returns {Identifier & { start: number, end: number, loc: SourceLocation }}
861
- */
862
- function read_tag(parser, regex) {
863
- const start = parser.index;
864
- const name = parser.read_until(regex);
865
- const end = parser.index;
866
-
867
- return {
868
- type: 'Identifier',
869
- name,
870
- start,
871
- end,
872
- loc: {
873
- start: locator(start),
874
- end: locator(end)
875
- }
876
- };
877
- }