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,791 +0,0 @@
1
- /** @import { ArrayExpression, Expression, ExpressionStatement, Identifier, MemberExpression, ObjectExpression } from 'estree' */
2
- /** @import { AST } from '#compiler' */
3
- /** @import { ComponentClientTransformState, ComponentContext } from '../types' */
4
- /** @import { Scope } from '../../../scope' */
5
- import {
6
- cannot_be_set_statically,
7
- is_boolean_attribute,
8
- is_dom_property,
9
- is_load_error_element
10
- } from '../../../../../utils.js';
11
- import { is_ignored } from '../../../../state.js';
12
- import { is_event_attribute, is_text_attribute } from '../../../../utils/ast.js';
13
- import * as b from '#compiler/builders';
14
- import {
15
- create_attribute,
16
- ExpressionMetadata,
17
- is_custom_element_node,
18
- is_customizable_select_element
19
- } from '../../../nodes.js';
20
- import { clean_nodes, determine_namespace_for_children } from '../../utils.js';
21
- import { build_getter } from '../utils.js';
22
- import {
23
- get_attribute_name,
24
- build_attribute_value,
25
- build_attribute_effect,
26
- build_set_class,
27
- build_set_style
28
- } from './shared/element.js';
29
- import { process_children, is_static_element } from './shared/fragment.js';
30
- import { build_render_statement, build_template_chunk, Memoizer } from './shared/utils.js';
31
- import { visit_event_attribute } from './shared/events.js';
32
- import { Template } from '../transform-template/template.js';
33
- import { transform_template } from '../transform-template/index.js';
34
- import { TEMPLATE_FRAGMENT } from '../../../../../constants.js';
35
-
36
- /**
37
- * @param {AST.RegularElement} node
38
- * @param {ComponentContext} context
39
- */
40
- export function RegularElement(node, context) {
41
- context.state.template.push_element(node.name, node.start);
42
-
43
- if (node.name === 'noscript') {
44
- context.state.template.pop_element();
45
- return;
46
- }
47
-
48
- const is_custom_element = is_custom_element_node(node);
49
-
50
- // cloneNode is faster, but it does not instantiate the underlying class of the
51
- // custom element until the template is connected to the dom, which would
52
- // cause problems when setting properties on the custom element.
53
- // Therefore we need to use importNode instead, which doesn't have this caveat.
54
- // Additionally, Webkit browsers need importNode for video elements for autoplay
55
- // to work correctly.
56
- context.state.template.needs_import_node ||= node.name === 'video' || is_custom_element;
57
-
58
- context.state.template.contains_script_tag ||= node.name === 'script';
59
-
60
- /** @type {Array<AST.Attribute | AST.SpreadAttribute>} */
61
- const attributes = [];
62
-
63
- /** @type {AST.ClassDirective[]} */
64
- const class_directives = [];
65
-
66
- /** @type {AST.StyleDirective[]} */
67
- const style_directives = [];
68
-
69
- /** @type {Array<AST.AnimateDirective | AST.BindDirective | AST.OnDirective | AST.TransitionDirective | AST.UseDirective | AST.AttachTag>} */
70
- const other_directives = [];
71
-
72
- /** @type {ExpressionStatement[]} */
73
- const lets = [];
74
-
75
- /** @type {Map<string, AST.Attribute>} */
76
- const lookup = new Map();
77
-
78
- /** @type {Map<string, AST.BindDirective>} */
79
- const bindings = new Map();
80
-
81
- let has_spread = node.metadata.has_spread;
82
- let has_use = false;
83
- let should_remove_defaults = false;
84
-
85
- for (const attribute of node.attributes) {
86
- switch (attribute.type) {
87
- case 'AnimateDirective':
88
- other_directives.push(attribute);
89
- break;
90
-
91
- case 'Attribute':
92
- // `is` attributes need to be part of the template, otherwise they break
93
- if (attribute.name === 'is' && context.state.metadata.namespace === 'html') {
94
- const { value } = build_attribute_value(attribute.value, context);
95
-
96
- if (value.type === 'Literal' && typeof value.value === 'string') {
97
- context.state.template.set_prop('is', value.value);
98
- continue;
99
- }
100
- }
101
-
102
- attributes.push(attribute);
103
- lookup.set(attribute.name, attribute);
104
- break;
105
-
106
- case 'BindDirective':
107
- bindings.set(attribute.name, attribute);
108
- other_directives.push(attribute);
109
- break;
110
-
111
- case 'ClassDirective':
112
- class_directives.push(attribute);
113
- break;
114
-
115
- case 'LetDirective':
116
- // visit let directives before everything else, to set state
117
- context.visit(attribute, { ...context.state, let_directives: lets });
118
- break;
119
-
120
- case 'OnDirective':
121
- other_directives.push(attribute);
122
- break;
123
-
124
- case 'SpreadAttribute':
125
- attributes.push(attribute);
126
- break;
127
-
128
- case 'StyleDirective':
129
- style_directives.push(attribute);
130
- break;
131
-
132
- case 'TransitionDirective':
133
- other_directives.push(attribute);
134
- break;
135
-
136
- case 'UseDirective':
137
- has_use = true;
138
- other_directives.push(attribute);
139
- break;
140
-
141
- case 'AttachTag':
142
- other_directives.push(attribute);
143
- break;
144
- }
145
- }
146
-
147
- /** @type {typeof state} */
148
- const element_state = { ...context.state, init: [], after_update: [] };
149
-
150
- for (const attribute of other_directives) {
151
- if (attribute.type === 'OnDirective') {
152
- const handler = /** @type {Expression} */ (context.visit(attribute));
153
-
154
- if (has_use) {
155
- element_state.init.push(b.stmt(b.call('$.effect', b.thunk(handler))));
156
- } else {
157
- element_state.after_update.push(b.stmt(handler));
158
- }
159
- } else {
160
- context.visit(attribute, element_state);
161
- }
162
- }
163
-
164
- if (node.name === 'input') {
165
- const has_value_attribute = attributes.some(
166
- (attribute) =>
167
- attribute.type === 'Attribute' &&
168
- (attribute.name === 'value' || attribute.name === 'checked') &&
169
- !is_text_attribute(attribute)
170
- );
171
- const has_default_value_attribute = attributes.some(
172
- (attribute) =>
173
- attribute.type === 'Attribute' &&
174
- (attribute.name === 'defaultValue' || attribute.name === 'defaultChecked')
175
- );
176
- if (
177
- !has_default_value_attribute &&
178
- (has_spread ||
179
- bindings.has('value') ||
180
- bindings.has('checked') ||
181
- bindings.has('group') ||
182
- (!bindings.has('group') && has_value_attribute))
183
- ) {
184
- if (has_spread) {
185
- // remove_input_defaults will be called inside set_attributes
186
- should_remove_defaults = true;
187
- } else {
188
- context.state.init.push(b.stmt(b.call('$.remove_input_defaults', context.state.node)));
189
- }
190
- }
191
- }
192
-
193
- if (node.name === 'textarea') {
194
- const attribute = lookup.get('value') ?? lookup.get('checked');
195
- const needs_content_reset = attribute && !is_text_attribute(attribute);
196
-
197
- if (has_spread || bindings.has('value') || needs_content_reset) {
198
- context.state.init.push(b.stmt(b.call('$.remove_textarea_child', context.state.node)));
199
- }
200
- }
201
-
202
- if (node.name === 'select' && bindings.has('value')) {
203
- setup_select_synchronization(/** @type {AST.BindDirective} */ (bindings.get('value')), context);
204
- }
205
-
206
- // Let bindings first, they can be used on attributes
207
- context.state.init.push(...lets);
208
-
209
- const node_id = context.state.node;
210
-
211
- /** If true, needs `__value` for inputs */
212
- const needs_special_value_handling =
213
- node.name === 'option' ||
214
- node.name === 'select' ||
215
- bindings.has('group') ||
216
- bindings.has('checked');
217
-
218
- if (has_spread) {
219
- build_attribute_effect(
220
- attributes,
221
- class_directives,
222
- style_directives,
223
- context,
224
- node,
225
- node_id,
226
- should_remove_defaults
227
- );
228
- } else {
229
- for (const attribute of /** @type {AST.Attribute[]} */ (attributes)) {
230
- if (is_event_attribute(attribute)) {
231
- visit_event_attribute(attribute, context);
232
- continue;
233
- }
234
-
235
- if (needs_special_value_handling && attribute.name === 'value') {
236
- continue;
237
- }
238
-
239
- const name = get_attribute_name(node, attribute);
240
-
241
- if (
242
- !is_custom_element &&
243
- !cannot_be_set_statically(attribute.name) &&
244
- (attribute.value === true || is_text_attribute(attribute)) &&
245
- (name !== 'class' || class_directives.length === 0) &&
246
- (name !== 'style' || style_directives.length === 0)
247
- ) {
248
- let value = is_text_attribute(attribute) ? attribute.value[0].data : true;
249
-
250
- if (name === 'class' && node.metadata.scoped && context.state.analysis.css.hash) {
251
- if (value === true || value === '') {
252
- value = context.state.analysis.css.hash;
253
- } else {
254
- value += ' ' + context.state.analysis.css.hash;
255
- }
256
- }
257
-
258
- if (name !== 'class' || value) {
259
- context.state.template.set_prop(
260
- attribute.name,
261
- is_boolean_attribute(name) && value === true ? undefined : value === true ? '' : value
262
- );
263
- }
264
- } else if (name === 'autofocus') {
265
- let { value } = build_attribute_value(attribute.value, context);
266
- context.state.init.push(b.stmt(b.call('$.autofocus', node_id, value)));
267
- } else if (name === 'class') {
268
- const is_html = context.state.metadata.namespace === 'html' && node.name !== 'svg';
269
- build_set_class(node, node_id, attribute, class_directives, context, is_html);
270
- } else if (name === 'style') {
271
- build_set_style(node_id, attribute, style_directives, context);
272
- } else if (is_custom_element) {
273
- build_custom_element_attribute_update_assignment(node_id, attribute, context);
274
- } else {
275
- const { value, has_state } = build_attribute_value(
276
- attribute.value,
277
- context,
278
- (value, metadata) => context.state.memoizer.add(value, metadata)
279
- );
280
-
281
- const update = build_element_attribute_update(node, node_id, name, value, attributes);
282
-
283
- (has_state ? context.state.update : context.state.init).push(b.stmt(update));
284
- }
285
- }
286
- }
287
-
288
- if (
289
- is_load_error_element(node.name) &&
290
- (has_spread || has_use || lookup.has('onload') || lookup.has('onerror'))
291
- ) {
292
- context.state.after_update.push(b.stmt(b.call('$.replay_events', node_id)));
293
- }
294
-
295
- const metadata = {
296
- ...context.state.metadata,
297
- namespace: determine_namespace_for_children(node, context.state.metadata.namespace)
298
- };
299
-
300
- if (bindings.has('innerHTML') || bindings.has('innerText') || bindings.has('textContent')) {
301
- const contenteditable = lookup.get('contenteditable');
302
-
303
- if (
304
- contenteditable &&
305
- (contenteditable.value === true ||
306
- (is_text_attribute(contenteditable) && contenteditable.value[0].data === 'true'))
307
- ) {
308
- metadata.bound_contenteditable = true;
309
- }
310
- }
311
-
312
- /** @type {ComponentClientTransformState} */
313
- const state = {
314
- ...context.state,
315
- metadata,
316
- scope: /** @type {Scope} */ (context.state.scopes.get(node.fragment)),
317
- preserve_whitespace:
318
- context.state.preserve_whitespace || node.name === 'pre' || node.name === 'textarea'
319
- };
320
-
321
- const { hoisted, trimmed } = clean_nodes(
322
- node,
323
- node.fragment.nodes,
324
- context.path,
325
- state.metadata.namespace,
326
- state,
327
- node.name === 'script' || state.preserve_whitespace,
328
- state.options.preserveComments
329
- );
330
-
331
- /** @type {typeof state} */
332
- const child_state = { ...state, init: [], update: [], after_update: [], snippets: [] };
333
-
334
- for (const node of hoisted) {
335
- context.visit(node, child_state);
336
- }
337
-
338
- // special case — if an element that only contains text, we don't need
339
- // to descend into it if the text is non-reactive
340
- // in the rare case that we have static text that can't be inlined
341
- // (e.g. `<span>{location}</span>`), set `textContent` programmatically
342
- const use_text_content =
343
- trimmed.every((node) => node.type === 'Text' || node.type === 'ExpressionTag') &&
344
- trimmed.every(
345
- (node) =>
346
- node.type === 'Text' ||
347
- (!node.metadata.expression.has_state &&
348
- !node.metadata.expression.has_await &&
349
- !node.metadata.expression.has_blockers())
350
- ) &&
351
- trimmed.some((node) => node.type === 'ExpressionTag');
352
-
353
- if (use_text_content) {
354
- const { value } = build_template_chunk(trimmed, context, child_state);
355
- const empty_string = value.type === 'Literal' && value.value === '';
356
-
357
- if (!empty_string) {
358
- child_state.init.push(
359
- b.stmt(b.assignment('=', b.member(context.state.node, 'textContent'), value))
360
- );
361
- }
362
- } else if (is_customizable_select_element(node)) {
363
- // For <option>, <optgroup>, or <select> elements with rich content, we need to branch based on browser support.
364
- // Modern browsers preserve rich HTML in options, older browsers strip it to text only.
365
- // We create a separate template for the rich content and append it to the element.
366
-
367
- const element_node = context.state.node;
368
-
369
- // Add a hydration marker inside the option element so $.child() has an anchor to find
370
- context.state.template.push_comment();
371
-
372
- // Create a separate template for the rich content
373
- const template_name = context.state.scope.root.unique(`${node.name}_content`);
374
- const fragment_id = b.id(context.state.scope.generate('fragment'));
375
- const anchor_id = b.id(context.state.scope.generate('anchor'));
376
-
377
- // Create state with a new template for the rich content
378
- /** @type {typeof state} */
379
- const select_state = {
380
- ...state,
381
- init: [],
382
- update: [],
383
- after_update: [],
384
- template: new Template()
385
- };
386
-
387
- process_children(
388
- trimmed,
389
- (is_text) => b.call('$.first_child', fragment_id, is_text && b.true),
390
- false,
391
- {
392
- ...context,
393
- state: select_state
394
- }
395
- );
396
-
397
- // Transform the template to $.from_html(...) and hoist it
398
- const template = transform_template(select_state, metadata.namespace, TEMPLATE_FRAGMENT);
399
- context.state.hoisted.push(b.var(template_name, template));
400
-
401
- // Build the rich content function body
402
- // The anchor is the child of the element (a hydration marker during hydration)
403
- const body = b.block([
404
- b.var(anchor_id, b.call('$.child', element_node)),
405
- b.var(fragment_id, b.call(template_name)),
406
- ...select_state.init,
407
- ...(select_state.update.length > 0 ? [build_render_statement(select_state)] : []),
408
- ...select_state.after_update,
409
- b.stmt(b.call('$.append', anchor_id, fragment_id))
410
- ]);
411
-
412
- child_state.init.push(b.stmt(b.call('$.customizable_select', element_node, b.arrow([], body))));
413
- } else {
414
- /** @type {Expression} */
415
- let arg = context.state.node;
416
-
417
- // If `hydrate_node` is set inside the element, we need to reset it
418
- // after the element has been hydrated. We need to check if any child
419
- // would actually advance the hydrate_node cursor - static elements don't.
420
- let needs_reset = trimmed.some((node) => node.type !== 'Text' && !is_static_element(node));
421
-
422
- // The same applies if it's a `<template>` element, since we need to
423
- // set the value of `hydrate_node` to `node.content`
424
- if (node.name === 'template') {
425
- needs_reset = true;
426
- child_state.init.push(b.stmt(b.call('$.hydrate_template', arg)));
427
- arg = b.member(arg, 'content');
428
- }
429
-
430
- process_children(trimmed, (is_text) => b.call('$.child', arg, is_text && b.true), true, {
431
- ...context,
432
- state: child_state
433
- });
434
-
435
- if (needs_reset) {
436
- child_state.init.push(b.stmt(b.call('$.reset', context.state.node)));
437
- }
438
- }
439
-
440
- if (node.fragment.nodes.some((node) => node.type === 'SnippetBlock')) {
441
- // Wrap children in `{...}` to avoid declaration conflicts
442
- context.state.init.push(
443
- b.block([
444
- ...child_state.snippets,
445
- ...child_state.init,
446
- ...element_state.init,
447
- child_state.update.length > 0 ? build_render_statement(child_state) : b.empty,
448
- ...child_state.after_update,
449
- ...element_state.after_update
450
- ])
451
- );
452
- } else if (node.fragment.metadata.dynamic) {
453
- context.state.init.push(...child_state.init, ...element_state.init);
454
- context.state.update.push(...child_state.update);
455
- context.state.after_update.push(...child_state.after_update, ...element_state.after_update);
456
- } else {
457
- context.state.init.push(...element_state.init);
458
- context.state.after_update.push(...element_state.after_update);
459
- }
460
-
461
- if (node.name === 'selectedcontent') {
462
- context.state.init.push(
463
- b.stmt(
464
- b.call(
465
- '$.selectedcontent',
466
- context.state.node,
467
- b.arrow([b.id('$$element')], b.assignment('=', context.state.node, b.id('$$element')))
468
- )
469
- )
470
- );
471
- }
472
-
473
- if (lookup.has('dir')) {
474
- // This fixes an issue with Chromium where updates to text content within an element
475
- // does not update the direction when set to auto. If we just re-assign the dir, this fixes it.
476
- const dir = b.member(node_id, 'dir');
477
- context.state.update.push(b.stmt(b.assignment('=', dir, dir)));
478
- }
479
-
480
- if (!has_spread && needs_special_value_handling) {
481
- if (node.metadata.synthetic_value_node) {
482
- const synthetic_node = node.metadata.synthetic_value_node;
483
- const synthetic_attribute = create_attribute(
484
- 'value',
485
- null,
486
- synthetic_node.start,
487
- synthetic_node.end,
488
- [synthetic_node]
489
- );
490
- // this node is an `option` that didn't have a `value` attribute, but had
491
- // a single-expression child, so we treat the value of that expression as
492
- // the value of the option
493
- build_element_special_value_attribute(node.name, node_id, synthetic_attribute, context, true);
494
- } else {
495
- for (const attribute of /** @type {AST.Attribute[]} */ (attributes)) {
496
- if (attribute.name === 'value') {
497
- build_element_special_value_attribute(node.name, node_id, attribute, context);
498
- break;
499
- }
500
- }
501
- }
502
- }
503
-
504
- context.state.template.pop_element();
505
- }
506
-
507
- /**
508
- * Special case: if we have a value binding on a select element, we need to set up synchronization
509
- * between the value binding and inner signals, for indirect updates
510
- * @param {AST.BindDirective} value_binding
511
- * @param {ComponentContext} context
512
- */
513
- function setup_select_synchronization(value_binding, context) {
514
- if (context.state.analysis.runes) return;
515
-
516
- let bound = value_binding.expression;
517
-
518
- if (bound.type === 'SequenceExpression') {
519
- return;
520
- }
521
-
522
- while (bound.type === 'MemberExpression') {
523
- bound = /** @type {Identifier | MemberExpression} */ (bound.object);
524
- }
525
-
526
- /** @type {string[]} */
527
- const names = [];
528
-
529
- for (const [name, refs] of context.state.scope.references) {
530
- if (
531
- refs.length > 0 &&
532
- // prevent infinite loop
533
- name !== bound.name
534
- ) {
535
- names.push(name);
536
- }
537
- }
538
-
539
- const invalidator = b.call(
540
- '$.invalidate_inner_signals',
541
- b.thunk(
542
- b.block(
543
- names.map((name) => {
544
- const serialized = build_getter(b.id(name), context.state);
545
- return b.stmt(serialized);
546
- })
547
- )
548
- )
549
- );
550
-
551
- context.state.init.push(
552
- b.stmt(
553
- b.call(
554
- '$.template_effect',
555
- b.thunk(
556
- b.block([b.stmt(/** @type {Expression} */ (context.visit(bound))), b.stmt(invalidator)])
557
- )
558
- )
559
- )
560
- );
561
- }
562
-
563
- /**
564
- * @param {AST.ClassDirective[]} class_directives
565
- * @param {ComponentContext} context
566
- * @param {Memoizer} memoizer
567
- */
568
- export function build_class_directives_object(
569
- class_directives,
570
- context,
571
- memoizer = context.state.memoizer
572
- ) {
573
- let properties = [];
574
-
575
- const metadata = new ExpressionMetadata();
576
-
577
- for (const d of class_directives) {
578
- metadata.merge(d.metadata.expression);
579
-
580
- const expression = /** @type Expression */ (context.visit(d.expression));
581
- properties.push(b.init(d.name, expression));
582
- }
583
-
584
- const directives = b.object(properties);
585
-
586
- return memoizer.add(directives, metadata);
587
- }
588
-
589
- /**
590
- * @param {AST.StyleDirective[]} style_directives
591
- * @param {ComponentContext} context
592
- * @param {Memoizer} memoizer
593
- */
594
- export function build_style_directives_object(
595
- style_directives,
596
- context,
597
- memoizer = context.state.memoizer
598
- ) {
599
- const normal = b.object([]);
600
- const important = b.object([]);
601
-
602
- const metadata = new ExpressionMetadata();
603
-
604
- for (const d of style_directives) {
605
- metadata.merge(d.metadata.expression);
606
-
607
- const expression =
608
- d.value === true
609
- ? build_getter(b.id(d.name), context.state)
610
- : build_attribute_value(d.value, context).value;
611
-
612
- const object = d.modifiers.includes('important') ? important : normal;
613
- object.properties.push(b.init(d.name, expression));
614
- }
615
-
616
- const directives = important.properties.length ? b.array([normal, important]) : normal;
617
-
618
- return memoizer.add(directives, metadata);
619
- }
620
-
621
- /**
622
- * Serializes an assignment to an element property by adding relevant statements to either only
623
- * the init or the init and update arrays, depending on whether or not the value is dynamic.
624
- * Resulting code for static looks something like this:
625
- * ```js
626
- * element.property = value;
627
- * // or
628
- * $.set_attribute(element, property, value);
629
- * });
630
- * ```
631
- * Resulting code for dynamic looks something like this:
632
- * ```js
633
- * let value;
634
- * $.template_effect(() => {
635
- * if (value !== (value = 'new value')) {
636
- * element.property = value;
637
- * // or
638
- * $.set_attribute(element, property, value);
639
- * }
640
- * });
641
- * ```
642
- * Returns true if attribute is deemed reactive, false otherwise.
643
- * @param {AST.RegularElement} element
644
- * @param {Identifier} node_id
645
- * @param {string} name
646
- * @param {Expression} value
647
- * @param {Array<AST.Attribute | AST.SpreadAttribute>} attributes
648
- */
649
- function build_element_attribute_update(element, node_id, name, value, attributes) {
650
- if (name === 'muted') {
651
- // Special case for Firefox who needs it set as a property in order to work
652
- return b.assignment('=', b.member(node_id, b.id('muted')), value);
653
- }
654
-
655
- if (name === 'value') {
656
- return b.call('$.set_value', node_id, value);
657
- }
658
-
659
- if (name === 'checked') {
660
- return b.call('$.set_checked', node_id, value);
661
- }
662
-
663
- if (name === 'selected') {
664
- return b.call('$.set_selected', node_id, value);
665
- }
666
-
667
- if (
668
- // If we would just set the defaultValue property, it would override the value property,
669
- // because it is set in the template which implicitly means it's also setting the default value,
670
- // and if one updates the default value while the input is pristine it will also update the
671
- // current value, which is not what we want, which is why we need to do some extra work.
672
- name === 'defaultValue' &&
673
- (attributes.some(
674
- (attr) => attr.type === 'Attribute' && attr.name === 'value' && is_text_attribute(attr)
675
- ) ||
676
- (element.name === 'textarea' && element.fragment.nodes.length > 0))
677
- ) {
678
- return b.call('$.set_default_value', node_id, value);
679
- }
680
-
681
- if (
682
- // See defaultValue comment
683
- name === 'defaultChecked' &&
684
- attributes.some(
685
- (attr) => attr.type === 'Attribute' && attr.name === 'checked' && attr.value === true
686
- )
687
- ) {
688
- return b.call('$.set_default_checked', node_id, value);
689
- }
690
-
691
- if (is_dom_property(name)) {
692
- return b.assignment('=', b.member(node_id, name), value);
693
- }
694
-
695
- return b.call(
696
- name.startsWith('xlink') ? '$.set_xlink_attribute' : '$.set_attribute',
697
- node_id,
698
- b.literal(name),
699
- value,
700
- is_ignored(element, 'hydration_attribute_changed') && b.true
701
- );
702
- }
703
-
704
- /**
705
- * Like `build_element_attribute_update` but without any special attribute treatment.
706
- * @param {Identifier} node_id
707
- * @param {AST.Attribute} attribute
708
- * @param {ComponentContext} context
709
- */
710
- function build_custom_element_attribute_update_assignment(node_id, attribute, context) {
711
- const { value, has_state } = build_attribute_value(attribute.value, context);
712
-
713
- // don't lowercase name, as we set the element's property, which might be case sensitive
714
- const call = b.call('$.set_custom_element_data', node_id, b.literal(attribute.name), value);
715
-
716
- // this is different from other updates — it doesn't get grouped,
717
- // because set_custom_element_data may not be idempotent
718
- const update = has_state ? b.call('$.template_effect', b.thunk(call)) : call;
719
-
720
- context.state.init.push(b.stmt(update));
721
- }
722
-
723
- /**
724
- * Serializes an assignment to the value property of a `<select>`, `<option>` or `<input>` element
725
- * that needs the hidden `__value` property.
726
- * Returns true if attribute is deemed reactive, false otherwise.
727
- * @param {string} element
728
- * @param {Identifier} node_id
729
- * @param {AST.Attribute} attribute
730
- * @param {ComponentContext} context
731
- * @param {boolean} [synthetic] - true if this should not sync to the DOM
732
- */
733
- function build_element_special_value_attribute(
734
- element,
735
- node_id,
736
- attribute,
737
- context,
738
- synthetic = false
739
- ) {
740
- const state = context.state;
741
- const is_select_with_value =
742
- // attribute.metadata.dynamic would give false negatives because even if the value does not change,
743
- // the inner options could still change, so we need to always treat it as reactive
744
- element === 'select' && attribute.value !== true && !is_text_attribute(attribute);
745
-
746
- const { value, has_state } = build_attribute_value(attribute.value, context, (value, metadata) =>
747
- state.memoizer.add(value, metadata)
748
- );
749
-
750
- const evaluated = context.state.scope.evaluate(value);
751
- const assignment = b.assignment('=', b.member(node_id, '__value'), value);
752
-
753
- const set_value_assignment = b.assignment(
754
- '=',
755
- b.member(node_id, 'value'),
756
- evaluated.is_defined ? assignment : b.logical('??', assignment, b.literal(''))
757
- );
758
-
759
- const update = b.stmt(
760
- is_select_with_value
761
- ? b.sequence([
762
- set_value_assignment,
763
- // This ensures a one-way street to the DOM in case it's <select {value}>
764
- // and not <select bind:value>. We need it in addition to $.init_select
765
- // because the select value is not reflected as an attribute, so the
766
- // mutation observer wouldn't notice.
767
- b.call('$.select_option', node_id, value)
768
- ])
769
- : synthetic
770
- ? assignment
771
- : set_value_assignment
772
- );
773
-
774
- if (has_state) {
775
- const id = b.id(state.scope.generate(`${node_id.name}_value`));
776
-
777
- // `<option>` is a special case: The value property reflects to the DOM. If the value is set to undefined,
778
- // that means the value should be set to the empty string. To be able to do that when the value is
779
- // initially undefined, we need to set a value that is guaranteed to be different.
780
- const init = element === 'option' ? b.object([]) : undefined;
781
-
782
- state.init.push(b.var(id, init));
783
- state.update.push(b.if(b.binary('!==', id, b.assignment('=', id, value)), b.block([update])));
784
- } else {
785
- state.init.push(update);
786
- }
787
-
788
- if (is_select_with_value) {
789
- state.init.push(b.stmt(b.call('$.init_select', node_id)));
790
- }
791
- }