svelte 3.46.6 → 3.47.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Svelte changelog
2
2
 
3
+ ## 3.47.0
4
+
5
+ * Add support for dynamic elements through `<svelte:element>` ([#2324](https://github.com/sveltejs/svelte/issues/2324))
6
+ * Miscellaneous variable context fixes in `{@const}` ([#7222](https://github.com/sveltejs/svelte/pull/7222))
7
+ * Fix `{#key}` block not being reactive when the key variable is not otherwise used ([#7408](https://github.com/sveltejs/svelte/issues/7408))
8
+ * Add `Symbol` as a known global ([#7418](https://github.com/sveltejs/svelte/issues/7418))
9
+
3
10
  ## 3.46.6
4
11
 
5
12
  * Actually include action TypeScript interface in published package ([#7407](https://github.com/sveltejs/svelte/pull/7407))
package/compiler.js CHANGED
@@ -5854,6 +5854,7 @@
5854
5854
  'setTimeout',
5855
5855
  'String',
5856
5856
  'SVGElement',
5857
+ 'Symbol',
5857
5858
  'SyntaxError',
5858
5859
  'TypeError',
5859
5860
  'undefined',
@@ -6037,6 +6038,10 @@
6037
6038
  code: `invalid-${slug}-content`,
6038
6039
  message: `<${name}> cannot have children`
6039
6040
  }),
6041
+ invalid_element_definition: {
6042
+ code: 'invalid-element-definition',
6043
+ message: 'Invalid element definition'
6044
+ },
6040
6045
  invalid_element_placement: (slug, name) => ({
6041
6046
  code: `invalid-${slug}-placement`,
6042
6047
  message: `<${name}> tags cannot be inside elements or blocks`
@@ -6097,6 +6102,10 @@
6097
6102
  code: 'missing-attribute-value',
6098
6103
  message: 'Expected value for the attribute'
6099
6104
  },
6105
+ missing_element_definition: {
6106
+ code: 'missing-element-definition',
6107
+ message: '<svelte:element> must have a \'this\' attribute'
6108
+ },
6100
6109
  unclosed_script: {
6101
6110
  code: 'unclosed-script',
6102
6111
  message: '<script> must have a closing tag'
@@ -16685,7 +16694,7 @@
16685
16694
  ['svelte:window', 'Window'],
16686
16695
  ['svelte:body', 'Body']
16687
16696
  ]);
16688
- const valid_meta_tags = Array.from(meta_tags.keys()).concat('svelte:self', 'svelte:component', 'svelte:fragment');
16697
+ const valid_meta_tags = Array.from(meta_tags.keys()).concat('svelte:self', 'svelte:component', 'svelte:fragment', 'svelte:element');
16689
16698
  const specials = new Map([
16690
16699
  [
16691
16700
  'script',
@@ -16705,6 +16714,7 @@
16705
16714
  const SELF = /^svelte:self(?=[\s/>])/;
16706
16715
  const COMPONENT = /^svelte:component(?=[\s/>])/;
16707
16716
  const SLOT = /^svelte:fragment(?=[\s/>])/;
16717
+ const ELEMENT = /^svelte:element(?=[\s/>])/;
16708
16718
  function parent_is_head(stack) {
16709
16719
  let i = stack.length;
16710
16720
  while (i--) {
@@ -16807,7 +16817,7 @@
16807
16817
  }
16808
16818
  if (name === 'svelte:component') {
16809
16819
  const index = element.attributes.findIndex(attr => attr.type === 'Attribute' && attr.name === 'this');
16810
- if (!~index) {
16820
+ if (index === -1) {
16811
16821
  parser.error(parser_errors.missing_component_definition, start);
16812
16822
  }
16813
16823
  const definition = element.attributes.splice(index, 1)[0];
@@ -16816,6 +16826,17 @@
16816
16826
  }
16817
16827
  element.expression = definition.value[0].expression;
16818
16828
  }
16829
+ if (name === 'svelte:element') {
16830
+ const index = element.attributes.findIndex(attr => attr.type === 'Attribute' && attr.name === 'this');
16831
+ if (index === -1) {
16832
+ parser.error(parser_errors.missing_element_definition, start);
16833
+ }
16834
+ const definition = element.attributes.splice(index, 1)[0];
16835
+ if (definition.value === true) {
16836
+ parser.error(parser_errors.invalid_element_definition, definition.start);
16837
+ }
16838
+ element.tag = definition.value[0].data || definition.value[0].expression;
16839
+ }
16819
16840
  // special cases – top-level <script> and <style>
16820
16841
  if (specials.has(name) && parser.stack.length === 1) {
16821
16842
  const special = specials.get(name);
@@ -16872,6 +16893,8 @@
16872
16893
  }
16873
16894
  if (parser.read(COMPONENT))
16874
16895
  return 'svelte:component';
16896
+ if (parser.read(ELEMENT))
16897
+ return 'svelte:element';
16875
16898
  if (parser.read(SLOT))
16876
16899
  return 'svelte:fragment';
16877
16900
  const name = parser.read_until(/(\s|\/|>)/);
@@ -17912,6 +17935,7 @@
17912
17935
  hydrate: [],
17913
17936
  mount: [],
17914
17937
  measure: [],
17938
+ restore_measurements: [],
17915
17939
  fix: [],
17916
17940
  animate: [],
17917
17941
  intro: [],
@@ -18100,6 +18124,11 @@
18100
18124
  properties.measure = x `function #measure() {
18101
18125
  ${this.chunks.measure}
18102
18126
  }`;
18127
+ if (this.chunks.restore_measurements.length) {
18128
+ properties.restore_measurements = x `function #restore_measurements(#measurement) {
18129
+ ${this.chunks.restore_measurements}
18130
+ }`;
18131
+ }
18103
18132
  properties.fix = x `function #fix() {
18104
18133
  ${this.chunks.fix}
18105
18134
  }`;
@@ -18151,6 +18180,7 @@
18151
18180
  m: ${properties.mount},
18152
18181
  p: ${properties.update},
18153
18182
  r: ${properties.measure},
18183
+ s: ${properties.restore_measurements},
18154
18184
  f: ${properties.fix},
18155
18185
  a: ${properties.animate},
18156
18186
  i: ${properties.intro},
@@ -19052,6 +19082,10 @@
19052
19082
  code: 'invalid-animation',
19053
19083
  message: 'An element that uses the animate directive must be the sole child of a keyed each block'
19054
19084
  },
19085
+ invalid_animation_dynamic_element: {
19086
+ code: 'invalid-animation',
19087
+ message: '<svelte:element> cannot have a animate directive'
19088
+ },
19055
19089
  invalid_directive_value: {
19056
19090
  code: 'invalid-directive-value',
19057
19091
  message: 'Can only bind to an identifier (e.g. `foo`) or a member expression (e.g. `foo.bar` or `foo[baz]`)'
@@ -19264,11 +19298,20 @@
19264
19298
  const id = component.get_unique_name(sanitize(get_function_name(node, owner)));
19265
19299
  const declaration = b `const ${id} = ${node}`;
19266
19300
  if (owner.type === 'ConstTag') {
19301
+ let child_scope = scope;
19267
19302
  walk(node, {
19268
- enter(node) {
19269
- if (node.type === 'Identifier') {
19303
+ enter(node, parent) {
19304
+ if (map.has(node))
19305
+ child_scope = map.get(node);
19306
+ if (node.type === 'Identifier' && is_reference(node, parent)) {
19307
+ if (child_scope.has(node.name))
19308
+ return;
19270
19309
  this.replace(block.renderer.reference(node, ctx));
19271
19310
  }
19311
+ },
19312
+ leave(node) {
19313
+ if (map.has(node))
19314
+ child_scope = child_scope.parent;
19272
19315
  }
19273
19316
  });
19274
19317
  }
@@ -20321,6 +20364,17 @@
20321
20364
  this.outro = null;
20322
20365
  this.animation = null;
20323
20366
  this.name = info.name;
20367
+ if (info.name === 'svelte:element') {
20368
+ if (typeof info.tag !== 'string') {
20369
+ this.tag_expr = new Expression(component, this, scope, info.tag);
20370
+ }
20371
+ else {
20372
+ this.tag_expr = new Expression(component, this, scope, string_literal(info.tag));
20373
+ }
20374
+ }
20375
+ else {
20376
+ this.tag_expr = new Expression(component, this, scope, string_literal(this.name));
20377
+ }
20324
20378
  this.namespace = get_namespace(parent, this, component.namespace);
20325
20379
  if (this.namespace !== namespaces.foreign) {
20326
20380
  if (this.name === 'textarea') {
@@ -20417,6 +20471,9 @@
20417
20471
  this.optimise();
20418
20472
  component.apply_stylesheet(this);
20419
20473
  }
20474
+ get is_dynamic_element() {
20475
+ return this.name === 'svelte:element';
20476
+ }
20420
20477
  validate() {
20421
20478
  if (this.component.var_lookup.has(this.name) && this.component.var_lookup.get(this.name).imported) {
20422
20479
  this.component.warn(this, compiler_warnings.component_name_lowercase(this.name));
@@ -23384,9 +23441,21 @@
23384
23441
  filter: (node, _name) => node.name === 'details'
23385
23442
  }
23386
23443
  ];
23444
+ const CHILD_DYNAMIC_ELEMENT_BLOCK = 'child_dynamic_element';
23387
23445
  class ElementWrapper extends Wrapper {
23388
23446
  constructor(renderer, block, parent, node, strip_whitespace, next_sibling) {
23389
23447
  super(renderer, block, parent, node);
23448
+ this.child_dynamic_element_block = null;
23449
+ this.child_dynamic_element = null;
23450
+ if (node.is_dynamic_element && block.type !== CHILD_DYNAMIC_ELEMENT_BLOCK) {
23451
+ this.child_dynamic_element_block = block.child({
23452
+ comment: create_debugging_comment(node, renderer.component),
23453
+ name: renderer.component.get_unique_name('create_dynamic_element'),
23454
+ type: CHILD_DYNAMIC_ELEMENT_BLOCK
23455
+ });
23456
+ renderer.blocks.push(this.child_dynamic_element_block);
23457
+ this.child_dynamic_element = new ElementWrapper(renderer, this.child_dynamic_element_block, parent, node, strip_whitespace, next_sibling);
23458
+ }
23390
23459
  this.var = {
23391
23460
  type: 'Identifier',
23392
23461
  name: node.name.replace(/[^a-zA-Z0-9_$]/g, '_')
@@ -23423,6 +23492,7 @@
23423
23492
  if (node.animation) {
23424
23493
  block.add_animation();
23425
23494
  }
23495
+ block.add_dependencies(node.tag_expr.dependencies);
23426
23496
  // add directive and handler dependencies
23427
23497
  [node.animation, node.outro, ...node.actions, ...node.classes, ...node.styles].forEach(directive => {
23428
23498
  if (directive && directive.expression) {
@@ -23443,6 +23513,7 @@
23443
23513
  node.handlers.length > 0 ||
23444
23514
  node.styles.length > 0 ||
23445
23515
  this.node.name === 'option' ||
23516
+ node.tag_expr.dynamic_dependencies().length ||
23446
23517
  renderer.options.dev) {
23447
23518
  this.parent.cannot_use_innerhtml(); // need to use add_location
23448
23519
  this.parent.not_static_content();
@@ -23451,6 +23522,90 @@
23451
23522
  this.fragment = new FragmentWrapper(renderer, block, node.children, this, strip_whitespace, next_sibling);
23452
23523
  }
23453
23524
  render(block, parent_node, parent_nodes) {
23525
+ if (this.child_dynamic_element) {
23526
+ this.render_dynamic_element(block, parent_node, parent_nodes);
23527
+ }
23528
+ else {
23529
+ this.render_element(block, parent_node, parent_nodes);
23530
+ }
23531
+ }
23532
+ render_dynamic_element(block, parent_node, parent_nodes) {
23533
+ this.child_dynamic_element.render(this.child_dynamic_element_block, null, x `#nodes`);
23534
+ const previous_tag = block.get_unique_name('previous_tag');
23535
+ const tag = this.node.tag_expr.manipulate(block);
23536
+ block.add_variable(previous_tag, tag);
23537
+ block.chunks.init.push(b `
23538
+ ${this.renderer.options.dev && b `@validate_dynamic_element(${tag});`}
23539
+ let ${this.var} = ${tag} && ${this.child_dynamic_element_block.name}(#ctx);
23540
+ `);
23541
+ block.chunks.create.push(b `
23542
+ if (${this.var}) ${this.var}.c();
23543
+ `);
23544
+ if (this.renderer.options.hydratable) {
23545
+ block.chunks.claim.push(b `
23546
+ if (${this.var}) ${this.var}.l(${parent_nodes});
23547
+ `);
23548
+ }
23549
+ block.chunks.mount.push(b `
23550
+ if (${this.var}) ${this.var}.m(${parent_node || '#target'}, ${parent_node ? 'null' : '#anchor'});
23551
+ `);
23552
+ const anchor = this.get_or_create_anchor(block, parent_node, parent_nodes);
23553
+ const has_transitions = !!(this.node.intro || this.node.outro);
23554
+ const not_equal = this.renderer.component.component_options.immutable ? x `@not_equal` : x `@safe_not_equal`;
23555
+ block.chunks.update.push(b `
23556
+ if (${tag}) {
23557
+ if (!${previous_tag}) {
23558
+ ${this.var} = ${this.child_dynamic_element_block.name}(#ctx);
23559
+ ${this.var}.c();
23560
+ ${has_transitions && b `@transition_in(${this.var})`}
23561
+ ${this.var}.m(${this.get_update_mount_node(anchor)}, ${anchor});
23562
+ } else if (${not_equal}(${previous_tag}, ${tag})) {
23563
+ ${this.var}.d(1);
23564
+ ${this.renderer.options.dev && b `@validate_dynamic_element(${tag});`}
23565
+ ${this.var} = ${this.child_dynamic_element_block.name}(#ctx);
23566
+ ${this.var}.c();
23567
+ ${this.var}.m(${this.get_update_mount_node(anchor)}, ${anchor});
23568
+ } else {
23569
+ ${this.var}.p(#ctx, #dirty);
23570
+ }
23571
+ } else if (${previous_tag}) {
23572
+ ${has_transitions
23573
+ ? b `
23574
+ @group_outros();
23575
+ @transition_out(${this.var}, 1, 1, () => {
23576
+ ${this.var} = null;
23577
+ });
23578
+ @check_outros();
23579
+ `
23580
+ : b `
23581
+ ${this.var}.d(1);
23582
+ ${this.var} = null;
23583
+ `}
23584
+ }
23585
+ ${previous_tag} = ${tag};
23586
+ `);
23587
+ if (this.child_dynamic_element_block.has_intros) {
23588
+ block.chunks.intro.push(b `@transition_in(${this.var});`);
23589
+ }
23590
+ if (this.child_dynamic_element_block.has_outros) {
23591
+ block.chunks.outro.push(b `@transition_out(${this.var});`);
23592
+ }
23593
+ block.chunks.destroy.push(b `if (${this.var}) ${this.var}.d(detaching)`);
23594
+ if (this.node.animation) {
23595
+ const measurements = block.get_unique_name('measurements');
23596
+ block.add_variable(measurements);
23597
+ block.chunks.measure.push(b `${measurements} = ${this.var}.r()`);
23598
+ block.chunks.fix.push(b `${this.var}.f();`);
23599
+ block.chunks.animate.push(b `
23600
+ ${this.var}.s(${measurements});
23601
+ ${this.var}.a()
23602
+ `);
23603
+ }
23604
+ }
23605
+ is_dom_node() {
23606
+ return super.is_dom_node() && !this.child_dynamic_element;
23607
+ }
23608
+ render_element(block, parent_node, parent_nodes) {
23454
23609
  const { renderer } = this;
23455
23610
  if (this.node.name === 'noscript')
23456
23611
  return;
@@ -23463,7 +23618,7 @@
23463
23618
  if (renderer.options.hydratable) {
23464
23619
  if (parent_nodes) {
23465
23620
  block.chunks.claim.push(b `
23466
- ${node} = ${this.get_claim_statement(parent_nodes)};
23621
+ ${node} = ${this.get_claim_statement(block, parent_nodes)};
23467
23622
  `);
23468
23623
  if (!this.void && this.node.children.length > 0) {
23469
23624
  block.chunks.claim.push(b `
@@ -23546,12 +23701,13 @@
23546
23701
  const loc = renderer.locate(this.node.start);
23547
23702
  block.chunks.hydrate.push(b `@add_location(${this.var}, ${renderer.file_var}, ${loc.line - 1}, ${loc.column}, ${this.node.start});`);
23548
23703
  }
23704
+ block.renderer.dirty(this.node.tag_expr.dynamic_dependencies());
23549
23705
  }
23550
23706
  can_use_textcontent() {
23551
23707
  return this.is_static_content && this.fragment.nodes.every(node => node.node.type === 'Text' || node.node.type === 'MustacheTag');
23552
23708
  }
23553
23709
  get_render_statement(block) {
23554
- const { name, namespace } = this.node;
23710
+ const { name, namespace, tag_expr } = this.node;
23555
23711
  if (namespace === namespaces.svg) {
23556
23712
  return x `@svg_element("${name}")`;
23557
23713
  }
@@ -23562,20 +23718,33 @@
23562
23718
  if (is) {
23563
23719
  return x `@element_is("${name}", ${is.render_chunks(block).reduce((lhs, rhs) => x `${lhs} + ${rhs}`)})`;
23564
23720
  }
23565
- return x `@element("${name}")`;
23721
+ const reference = tag_expr.manipulate(block);
23722
+ return x `@element(${reference})`;
23566
23723
  }
23567
- get_claim_statement(nodes) {
23724
+ get_claim_statement(block, nodes) {
23568
23725
  const attributes = this.attributes
23569
23726
  .filter((attr) => !(attr instanceof SpreadAttributeWrapper) && !attr.property_name)
23570
23727
  .map((attr) => p `${attr.name}: true`);
23571
- const name = this.node.namespace
23572
- ? this.node.name
23573
- : this.node.name.toUpperCase();
23728
+ let reference;
23729
+ if (this.node.tag_expr.node.type === 'Literal') {
23730
+ if (this.node.namespace) {
23731
+ reference = `"${this.node.tag_expr.node.value}"`;
23732
+ }
23733
+ else {
23734
+ reference = `"${(this.node.tag_expr.node.value || '').toUpperCase()}"`;
23735
+ }
23736
+ }
23737
+ else if (this.node.namespace) {
23738
+ reference = x `${this.node.tag_expr.manipulate(block)}`;
23739
+ }
23740
+ else {
23741
+ reference = x `(${this.node.tag_expr.manipulate(block)} || 'null').toUpperCase()`;
23742
+ }
23574
23743
  if (this.node.namespace === namespaces.svg) {
23575
- return x `@claim_svg_element(${nodes}, "${name}", { ${attributes} })`;
23744
+ return x `@claim_svg_element(${nodes}, ${reference}, { ${attributes} })`;
23576
23745
  }
23577
23746
  else {
23578
- return x `@claim_element(${nodes}, "${name}", { ${attributes} })`;
23747
+ return x `@claim_element(${nodes}, ${reference}, { ${attributes} })`;
23579
23748
  }
23580
23749
  }
23581
23750
  add_directives_in_order(block) {
@@ -23944,6 +24113,10 @@
23944
24113
  block.chunks.measure.push(b `
23945
24114
  ${rect} = ${this.var}.getBoundingClientRect();
23946
24115
  `);
24116
+ if (block.type === CHILD_DYNAMIC_ELEMENT_BLOCK) {
24117
+ block.chunks.measure.push(b `return ${rect}`);
24118
+ block.chunks.restore_measurements.push(b `${rect} = #measurement;`);
24119
+ }
23947
24120
  block.chunks.fix.push(b `
23948
24121
  @fix_position(${this.var});
23949
24122
  ${stop_animation}();
@@ -24027,7 +24200,7 @@
24027
24200
  if (should_cache) {
24028
24201
  block.chunks.update.push(b `
24029
24202
  if (${block.renderer.dirty(dependencies)} && (${cached_snippet} !== (${cached_snippet} = ${snippet}))) {
24030
- ${updater}
24203
+ ${updater}
24031
24204
  }
24032
24205
  `);
24033
24206
  }
@@ -24576,6 +24749,7 @@
24576
24749
  name: renderer.component.get_unique_name('create_key_block'),
24577
24750
  type: 'key'
24578
24751
  });
24752
+ block.add_dependencies(node.expression.dependencies);
24579
24753
  renderer.blocks.push(block);
24580
24754
  }
24581
24755
  this.block = block;
@@ -27727,7 +27901,8 @@
27727
27901
  const contenteditable = (node.name !== 'textarea' &&
27728
27902
  node.name !== 'input' &&
27729
27903
  node.attributes.some((attribute) => attribute.name === 'contenteditable'));
27730
- renderer.add_string(`<${node.name}`);
27904
+ renderer.add_string('<');
27905
+ add_tag_name();
27731
27906
  const class_expression_list = node.classes.map(class_directive => {
27732
27907
  const { expression, name } = class_directive;
27733
27908
  const snippet = expression ? expression.node : x `#ctx.${name}`; // TODO is this right?
@@ -27867,14 +28042,25 @@
27867
28042
  else {
27868
28043
  renderer.add_expression(node_contents);
27869
28044
  }
27870
- if (!is_void(node.name)) {
27871
- renderer.add_string(`</${node.name}>`);
27872
- }
28045
+ add_close_tag();
27873
28046
  }
27874
28047
  else {
27875
28048
  renderer.render(children, options);
28049
+ add_close_tag();
28050
+ }
28051
+ function add_close_tag() {
27876
28052
  if (!is_void(node.name)) {
27877
- renderer.add_string(`</${node.name}>`);
28053
+ renderer.add_string('</');
28054
+ add_tag_name();
28055
+ renderer.add_string('>');
28056
+ }
28057
+ }
28058
+ function add_tag_name() {
28059
+ if (node.tag_expr.node.type === 'Literal') {
28060
+ renderer.add_string(node.tag_expr.node.value);
28061
+ }
28062
+ else {
28063
+ renderer.add_expression(node.tag_expr.node);
27878
28064
  }
27879
28065
  }
27880
28066
  }
@@ -30495,7 +30681,7 @@
30495
30681
  }
30496
30682
 
30497
30683
  // This file is automatically generated
30498
- var internal_exports = new Set(["HtmlTag", "HtmlTagHydration", "SvelteComponent", "SvelteComponentDev", "SvelteComponentTyped", "SvelteElement", "action_destroyer", "add_attribute", "add_classes", "add_flush_callback", "add_location", "add_render_callback", "add_resize_listener", "add_styles", "add_transform", "afterUpdate", "append", "append_dev", "append_empty_stylesheet", "append_hydration", "append_hydration_dev", "append_styles", "assign", "attr", "attr_dev", "attribute_to_object", "beforeUpdate", "bind", "binding_callbacks", "blank_object", "bubble", "check_outros", "children", "claim_component", "claim_element", "claim_html_tag", "claim_space", "claim_svg_element", "claim_text", "clear_loops", "component_subscribe", "compute_rest_props", "compute_slots", "createEventDispatcher", "create_animation", "create_bidirectional_transition", "create_component", "create_in_transition", "create_out_transition", "create_slot", "create_ssr_component", "current_component", "custom_event", "dataset_dev", "debug", "destroy_block", "destroy_component", "destroy_each", "detach", "detach_after_dev", "detach_before_dev", "detach_between_dev", "detach_dev", "dirty_components", "dispatch_dev", "each", "element", "element_is", "empty", "end_hydrating", "escape", "escape_attribute_value", "escape_object", "escaped", "exclude_internal_props", "fix_and_destroy_block", "fix_and_outro_and_destroy_block", "fix_position", "flush", "getAllContexts", "getContext", "get_all_dirty_from_scope", "get_binding_group_value", "get_current_component", "get_custom_elements_slots", "get_root_for_style", "get_slot_changes", "get_spread_object", "get_spread_update", "get_store_value", "globals", "group_outros", "handle_promise", "hasContext", "has_prop", "identity", "init", "insert", "insert_dev", "insert_hydration", "insert_hydration_dev", "intros", "invalid_attribute_name_character", "is_client", "is_crossorigin", "is_empty", "is_function", "is_promise", "listen", "listen_dev", "loop", "loop_guard", "merge_ssr_styles", "missing_component", "mount_component", "noop", "not_equal", "now", "null_to_empty", "object_without_properties", "onDestroy", "onMount", "once", "outro_and_destroy_block", "prevent_default", "prop_dev", "query_selector_all", "raf", "run", "run_all", "safe_not_equal", "schedule_update", "select_multiple_value", "select_option", "select_options", "select_value", "self", "setContext", "set_attributes", "set_current_component", "set_custom_element_data", "set_data", "set_data_dev", "set_input_type", "set_input_value", "set_now", "set_raf", "set_store_value", "set_style", "set_svg_attributes", "space", "spread", "src_url_equal", "start_hydrating", "stop_propagation", "subscribe", "svg_element", "text", "tick", "time_ranges_to_array", "to_number", "toggle_class", "transition_in", "transition_out", "trusted", "update_await_block_branch", "update_keyed_each", "update_slot", "update_slot_base", "validate_component", "validate_each_argument", "validate_each_keys", "validate_slots", "validate_store", "xlink_attr"]);
30684
+ var internal_exports = new Set(["HtmlTag", "HtmlTagHydration", "SvelteComponent", "SvelteComponentDev", "SvelteComponentTyped", "SvelteElement", "action_destroyer", "add_attribute", "add_classes", "add_flush_callback", "add_location", "add_render_callback", "add_resize_listener", "add_styles", "add_transform", "afterUpdate", "append", "append_dev", "append_empty_stylesheet", "append_hydration", "append_hydration_dev", "append_styles", "assign", "attr", "attr_dev", "attribute_to_object", "beforeUpdate", "bind", "binding_callbacks", "blank_object", "bubble", "check_outros", "children", "claim_component", "claim_element", "claim_html_tag", "claim_space", "claim_svg_element", "claim_text", "clear_loops", "component_subscribe", "compute_rest_props", "compute_slots", "createEventDispatcher", "create_animation", "create_bidirectional_transition", "create_component", "create_in_transition", "create_out_transition", "create_slot", "create_ssr_component", "current_component", "custom_event", "dataset_dev", "debug", "destroy_block", "destroy_component", "destroy_each", "detach", "detach_after_dev", "detach_before_dev", "detach_between_dev", "detach_dev", "dirty_components", "dispatch_dev", "each", "element", "element_is", "empty", "end_hydrating", "escape", "escape_attribute_value", "escape_object", "escaped", "exclude_internal_props", "fix_and_destroy_block", "fix_and_outro_and_destroy_block", "fix_position", "flush", "getAllContexts", "getContext", "get_all_dirty_from_scope", "get_binding_group_value", "get_current_component", "get_custom_elements_slots", "get_root_for_style", "get_slot_changes", "get_spread_object", "get_spread_update", "get_store_value", "globals", "group_outros", "handle_promise", "hasContext", "has_prop", "identity", "init", "insert", "insert_dev", "insert_hydration", "insert_hydration_dev", "intros", "invalid_attribute_name_character", "is_client", "is_crossorigin", "is_empty", "is_function", "is_promise", "listen", "listen_dev", "loop", "loop_guard", "merge_ssr_styles", "missing_component", "mount_component", "noop", "not_equal", "now", "null_to_empty", "object_without_properties", "onDestroy", "onMount", "once", "outro_and_destroy_block", "prevent_default", "prop_dev", "query_selector_all", "raf", "run", "run_all", "safe_not_equal", "schedule_update", "select_multiple_value", "select_option", "select_options", "select_value", "self", "setContext", "set_attributes", "set_current_component", "set_custom_element_data", "set_data", "set_data_dev", "set_input_type", "set_input_value", "set_now", "set_raf", "set_store_value", "set_style", "set_svg_attributes", "space", "spread", "src_url_equal", "start_hydrating", "stop_propagation", "subscribe", "svg_element", "text", "tick", "time_ranges_to_array", "to_number", "toggle_class", "transition_in", "transition_out", "trusted", "update_await_block_branch", "update_keyed_each", "update_slot", "update_slot_base", "validate_component", "validate_dynamic_element", "validate_each_argument", "validate_each_keys", "validate_slots", "validate_store", "xlink_attr"]);
30499
30685
 
30500
30686
  function is_used_as_reference(node, parent) {
30501
30687
  if (!is_reference(node, parent)) {
@@ -30677,7 +30863,7 @@
30677
30863
  if (result) {
30678
30864
  const { compile_options, name } = this;
30679
30865
  const { format = 'esm' } = compile_options;
30680
- const banner = `${this.file ? `${this.file} ` : ''}generated by Svelte v${'3.46.6'}`;
30866
+ const banner = `${this.file ? `${this.file} ` : ''}generated by Svelte v${'3.47.0'}`;
30681
30867
  const program = { type: 'Program', body: result.js };
30682
30868
  walk(program, {
30683
30869
  enter: (node, parent, key) => {
@@ -32170,7 +32356,7 @@
32170
32356
  return result.to_processed();
32171
32357
  }
32172
32358
 
32173
- const VERSION = '3.46.6';
32359
+ const VERSION = '3.47.0';
32174
32360
 
32175
32361
  exports.VERSION = VERSION;
32176
32362
  exports.compile = compile;