eat-js-sdk 1.0.2 → 1.0.4

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.
@@ -350,6 +350,9 @@
350
350
  throw new Error("Function called outside component initialization");
351
351
  return current_component;
352
352
  }
353
+ function onMount(fn) {
354
+ get_current_component().$$.on_mount.push(fn);
355
+ }
353
356
  function createEventDispatcher() {
354
357
  const component = get_current_component();
355
358
  return (type, detail, { cancelable = false } = {}) => {
@@ -496,7 +499,7 @@
496
499
  lookup.delete(block.key);
497
500
  });
498
501
  }
499
- function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block4, next2, get_context) {
502
+ function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block5, next2, get_context) {
500
503
  let o2 = old_blocks.length;
501
504
  let n2 = list.length;
502
505
  let i = o2;
@@ -513,7 +516,7 @@
513
516
  const key = get_key(child_ctx);
514
517
  let block = lookup.get(key);
515
518
  if (!block) {
516
- block = create_each_block4(key, child_ctx);
519
+ block = create_each_block5(key, child_ctx);
517
520
  block.c();
518
521
  } else if (dynamic) {
519
522
  updates.push(() => block.p(child_ctx, dirty));
@@ -635,7 +638,7 @@
635
638
  }
636
639
  component.$$.dirty[i / 31 | 0] |= 1 << i % 31;
637
640
  }
638
- function init(component, options, instance14, create_fragment27, not_equal, props, append_styles2 = null, dirty = [-1]) {
641
+ function init(component, options, instance15, create_fragment29, not_equal, props, append_styles2 = null, dirty = [-1]) {
639
642
  const parent_component = current_component;
640
643
  set_current_component(component);
641
644
  const $$ = component.$$ = {
@@ -661,7 +664,7 @@
661
664
  };
662
665
  append_styles2 && append_styles2($$.root);
663
666
  let ready = false;
664
- $$.ctx = instance14 ? instance14(component, options.props || {}, (i, ret, ...rest) => {
667
+ $$.ctx = instance15 ? instance15(component, options.props || {}, (i, ret, ...rest) => {
665
668
  const value = rest.length ? rest[0] : ret;
666
669
  if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
667
670
  if (!$$.skip_bound && $$.bound[i])
@@ -674,7 +677,7 @@
674
677
  $$.update();
675
678
  ready = true;
676
679
  run_all($$.before_update);
677
- $$.fragment = create_fragment27 ? create_fragment27($$.ctx) : false;
680
+ $$.fragment = create_fragment29 ? create_fragment29($$.ctx) : false;
678
681
  if (options.target) {
679
682
  if (options.hydrate) {
680
683
  start_hydrating();
@@ -1080,10 +1083,35 @@
1080
1083
  });
1081
1084
  return await response.json();
1082
1085
  };
1086
+ var usePost = async (url, body) => {
1087
+ const headers = getHeaders({ "Content-type": "application/json" });
1088
+ const response = await fetch(getBaseUrl(url), {
1089
+ method: "POST",
1090
+ headers,
1091
+ body: JSON.stringify(body)
1092
+ });
1093
+ return await response.json();
1094
+ };
1083
1095
 
1084
1096
  // src/lib/composables/useTypein.ts
1085
1097
  var useRemoveDiacritics = (data) => data.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/\s+/g, " ");
1086
1098
  var useRemovePunctuation = (data) => data.replace(/[^\p{L}\p{M}\s\d]/gu, "").replace(/\s+/g, " ");
1099
+ var useJoinArrayToString = (arr) => {
1100
+ return arr.join("").replace(/-/g, "").toLocaleLowerCase();
1101
+ };
1102
+ var useIsEven = (data) => {
1103
+ return data % 2 === 0;
1104
+ };
1105
+ var useCorrectIconString = () => {
1106
+ return `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Check Icon">
1107
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM14.7284 6.79289C14.3378 6.40237 13.7047 6.40237 13.3141 6.79289L8.02125 12.0858L6.20711 10.2716C5.81658 9.88112 5.18342 9.88112 4.79289 10.2716C4.40237 10.6622 4.40237 11.2953 4.79289 11.6859L7.31414 14.2071C7.70467 14.5976 8.33783 14.5976 8.72836 14.2071L14.7284 8.20711C15.1189 7.81658 15.1189 7.18342 14.7284 6.79289Z" fill="currentColor"/>
1108
+ </svg>`;
1109
+ };
1110
+ var useErrorIconString = () => {
1111
+ return `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Cross Icon">
1112
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM7.70711 6.29289C7.31658 5.90237 6.68342 5.90237 6.29289 6.29289C5.90237 6.68342 5.90237 7.31658 6.29289 7.70711L8.585 10L6.29289 12.2929C5.93241 12.6534 5.90468 13.2206 6.2097 13.6129L6.29289 13.7071C6.68342 14.0976 7.31658 14.0976 7.70711 13.7071L10 11.415L12.2929 13.7071C12.6534 14.0676 13.2206 14.0953 13.6129 13.7903L13.7071 13.7071C14.0976 13.3166 14.0976 12.6834 13.7071 12.2929L11.415 10L13.7071 7.70711C14.0676 7.34662 14.0953 6.77939 13.7903 6.3871L13.7071 6.29289C13.3166 5.90237 12.6834 5.90237 12.2929 6.29289L10 8.585L7.70711 6.29289Z" fill="currentColor"/>
1113
+ </svg>`;
1114
+ };
1087
1115
 
1088
1116
  // src/lib/components/common/CommonStringToHtml.svelte
1089
1117
  function create_if_block(ctx) {
@@ -1257,6 +1285,7 @@
1257
1285
  var INTERACTION_TYPE_TYPEIN = "typeInInteraction";
1258
1286
  var INTERACTION_TYPE_CATEGORISE = "categoriseInteraction";
1259
1287
  var TYPEIN_TYPE_SHORT = "Short-Text";
1288
+ var TYPEIN_TYPE_LONG = "Long-Text";
1260
1289
  var TYPEIN_TYPE_INLINE = "Inline Text";
1261
1290
  var CONTAINER_WORD_BIN_ID = "container-word-bin";
1262
1291
  var SCREEN_MD = 732;
@@ -3856,194 +3885,602 @@
3856
3885
  action.destroy = autosize_esm_default.destroy;
3857
3886
  var svelte_autosize_default = action;
3858
3887
 
3859
- // src/lib/components/common/InvalidBanner.svelte
3888
+ // src/lib/assets/img/messaging/InfoSolid.svelte
3860
3889
  function create_fragment8(ctx) {
3861
- let p;
3862
- let t2;
3890
+ let svg;
3891
+ let path;
3863
3892
  return {
3864
3893
  c() {
3865
- p = element("p");
3866
- t2 = text(
3867
- /*bannerLabel*/
3868
- ctx[0]
3869
- );
3870
- attr(p, "class", "p-2 border-2 border-red-600 bg-red-200 rounded");
3894
+ svg = svg_element("svg");
3895
+ path = svg_element("path");
3896
+ attr(path, "fill-rule", "evenodd");
3897
+ attr(path, "clip-rule", "evenodd");
3898
+ attr(path, "d", "M10 0C15.5228 0 20 4.47715 20 10C20 15.5228 15.5228 20 10 20C4.47715 20 0 15.5228 0 10C0 4.47715 4.47715 0 10 0ZM10 9C9.44772 9 9 9.44772 9 10V14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5V10C11 9.44772 10.5523 9 10 9ZM10 5C9.44772 5 9 5.44772 9 6C9 6.55228 9.44772 7 10 7C10.5523 7 11 6.55228 11 6C11 5.44772 10.5523 5 10 5Z");
3899
+ attr(path, "fill", "currentColor");
3900
+ attr(svg, "width", "20");
3901
+ attr(svg, "height", "20");
3902
+ attr(svg, "viewBox", "0 0 20 20");
3903
+ attr(svg, "fill", "none");
3904
+ attr(svg, "xmlns", "http://www.w3.org/2000/svg");
3905
+ attr(svg, "role", "img");
3906
+ attr(svg, "aria-label", "Info Icon");
3871
3907
  },
3872
3908
  m(target, anchor) {
3873
- insert(target, p, anchor);
3874
- append(p, t2);
3875
- },
3876
- p(ctx2, [dirty]) {
3877
- if (dirty & /*bannerLabel*/
3878
- 1)
3879
- set_data(
3880
- t2,
3881
- /*bannerLabel*/
3882
- ctx2[0]
3883
- );
3909
+ insert(target, svg, anchor);
3910
+ append(svg, path);
3884
3911
  },
3912
+ p: noop,
3885
3913
  i: noop,
3886
3914
  o: noop,
3887
3915
  d(detaching) {
3888
3916
  if (detaching) {
3889
- detach(p);
3917
+ detach(svg);
3890
3918
  }
3891
3919
  }
3892
3920
  };
3893
3921
  }
3894
- function instance6($$self, $$props, $$invalidate) {
3895
- let { bannerLabel: bannerLabel2 = "Invalid." } = $$props;
3896
- $$self.$$set = ($$props2) => {
3897
- if ("bannerLabel" in $$props2)
3898
- $$invalidate(0, bannerLabel2 = $$props2.bannerLabel);
3899
- };
3900
- return [bannerLabel2];
3901
- }
3902
- var InvalidBanner = class extends SvelteComponent {
3922
+ var InfoSolid = class extends SvelteComponent {
3903
3923
  constructor(options) {
3904
3924
  super();
3905
- init(this, options, instance6, create_fragment8, safe_not_equal, { bannerLabel: 0 });
3906
- }
3907
- get bannerLabel() {
3908
- return this.$$.ctx[0];
3909
- }
3910
- set bannerLabel(bannerLabel2) {
3911
- this.$$set({ bannerLabel: bannerLabel2 });
3912
- flush();
3925
+ init(this, options, null, create_fragment8, safe_not_equal, {});
3913
3926
  }
3914
3927
  };
3915
- customElements.define("invalid-banner", create_custom_element(InvalidBanner, { "bannerLabel": {} }, [], [], true));
3916
- var InvalidBanner_default = InvalidBanner;
3928
+ create_custom_element(InfoSolid, {}, [], [], true);
3929
+ var InfoSolid_default = InfoSolid;
3917
3930
 
3918
- // src/lib/components/prompt/typein/PromptTypeIn.svelte
3919
- function create_else_block_2(ctx) {
3920
- let textarea;
3921
- let textarea_class_value;
3922
- let autosize_action;
3923
- let mounted;
3924
- let dispose;
3931
+ // src/lib/components/prompt/template/PromptResultFeedbackv2.svelte
3932
+ function create_if_block6(ctx) {
3933
+ let div1;
3934
+ let t0;
3935
+ let div0;
3936
+ let t1;
3937
+ let span;
3938
+ let t2;
3939
+ let div1_class_value;
3940
+ let current;
3941
+ let if_block0 = (
3942
+ /*hasIcon*/
3943
+ ctx[4] && create_if_block_24(ctx)
3944
+ );
3945
+ let if_block1 = (
3946
+ /*resultFeedbackTitle*/
3947
+ ctx[1] && create_if_block_15(ctx)
3948
+ );
3925
3949
  return {
3926
3950
  c() {
3927
- textarea = element("textarea");
3928
- attr(textarea, "id", idLabel);
3929
- attr(
3930
- textarea,
3931
- "aria-label",
3932
- /*textAriaLabel*/
3933
- ctx[9]
3934
- );
3935
- attr(
3936
- textarea,
3937
- "placeholder",
3938
- /*placeholder*/
3939
- ctx[5]
3951
+ div1 = element("div");
3952
+ if (if_block0)
3953
+ if_block0.c();
3954
+ t0 = space();
3955
+ div0 = element("div");
3956
+ if (if_block1)
3957
+ if_block1.c();
3958
+ t1 = space();
3959
+ span = element("span");
3960
+ t2 = text(
3961
+ /*resultFeedback*/
3962
+ ctx[0]
3940
3963
  );
3941
- attr(textarea, "rows", "3");
3942
- attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
3943
- ctx[1] ? "" : (
3964
+ attr(div1, "aria-description", "Answer feedback:");
3965
+ attr(div1, "class", div1_class_value = "my-6 p-4 border-l-4 text-charcoal text-base flex " + /*isSkipped*/
3966
+ (ctx[3] ? "border-blue-950 bg-blue-50" : (
3944
3967
  /*isResultCorrect*/
3945
- ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
3968
+ ctx[2] ? "border-green-900 bg-green-300" : "border-red-900 bg-red-50"
3946
3969
  )));
3947
- textarea.disabled = /*isDataSaving*/
3948
- ctx[0];
3949
- attr(textarea, "autocomplete", "off");
3950
- textarea.readOnly = /*isReadonlyText*/
3951
- ctx[14];
3952
3970
  },
3953
3971
  m(target, anchor) {
3954
- insert(target, textarea, anchor);
3955
- set_input_value(
3956
- textarea,
3957
- /*typeinAnswer*/
3958
- ctx[3]
3959
- );
3960
- if (!mounted) {
3961
- dispose = [
3962
- listen(
3963
- textarea,
3964
- "input",
3965
- /*textarea_input_handler*/
3966
- ctx[25]
3967
- ),
3968
- listen(
3969
- textarea,
3970
- "mousedown",
3971
- /*mousedown_handler*/
3972
- ctx[26]
3973
- ),
3974
- listen(
3975
- textarea,
3976
- "touchstart",
3977
- /*touchstart_handler*/
3978
- ctx[27],
3979
- { passive: true }
3980
- ),
3981
- listen(
3982
- textarea,
3983
- "focus",
3984
- /*focus_handler*/
3985
- ctx[28]
3986
- ),
3987
- listen(
3988
- textarea,
3989
- "focusout",
3990
- /*focusout_handler_1*/
3991
- ctx[29]
3992
- ),
3993
- listen(
3994
- textarea,
3995
- "keydown",
3996
- /*keydown_handler_1*/
3997
- ctx[30]
3998
- ),
3999
- action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
4000
- ];
4001
- mounted = true;
4002
- }
3972
+ insert(target, div1, anchor);
3973
+ if (if_block0)
3974
+ if_block0.m(div1, null);
3975
+ append(div1, t0);
3976
+ append(div1, div0);
3977
+ if (if_block1)
3978
+ if_block1.m(div0, null);
3979
+ append(div0, t1);
3980
+ append(div0, span);
3981
+ append(span, t2);
3982
+ current = true;
4003
3983
  },
4004
3984
  p(ctx2, dirty) {
4005
- if (dirty[0] & /*textAriaLabel*/
4006
- 512) {
4007
- attr(
4008
- textarea,
4009
- "aria-label",
4010
- /*textAriaLabel*/
4011
- ctx2[9]
4012
- );
3985
+ if (
3986
+ /*hasIcon*/
3987
+ ctx2[4]
3988
+ ) {
3989
+ if (if_block0) {
3990
+ if_block0.p(ctx2, dirty);
3991
+ if (dirty & /*hasIcon*/
3992
+ 16) {
3993
+ transition_in(if_block0, 1);
3994
+ }
3995
+ } else {
3996
+ if_block0 = create_if_block_24(ctx2);
3997
+ if_block0.c();
3998
+ transition_in(if_block0, 1);
3999
+ if_block0.m(div1, t0);
4000
+ }
4001
+ } else if (if_block0) {
4002
+ group_outros();
4003
+ transition_out(if_block0, 1, 1, () => {
4004
+ if_block0 = null;
4005
+ });
4006
+ check_outros();
4013
4007
  }
4014
- if (dirty[0] & /*placeholder*/
4015
- 32) {
4016
- attr(
4017
- textarea,
4018
- "placeholder",
4019
- /*placeholder*/
4020
- ctx2[5]
4021
- );
4008
+ if (
4009
+ /*resultFeedbackTitle*/
4010
+ ctx2[1]
4011
+ ) {
4012
+ if (if_block1) {
4013
+ if_block1.p(ctx2, dirty);
4014
+ } else {
4015
+ if_block1 = create_if_block_15(ctx2);
4016
+ if_block1.c();
4017
+ if_block1.m(div0, t1);
4018
+ }
4019
+ } else if (if_block1) {
4020
+ if_block1.d(1);
4021
+ if_block1 = null;
4022
4022
  }
4023
- if (dirty[0] & /*isFinished, isResultCorrect*/
4024
- 6 && textarea_class_value !== (textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4025
- ctx2[1] ? "" : (
4023
+ if (!current || dirty & /*resultFeedback*/
4024
+ 1)
4025
+ set_data(
4026
+ t2,
4027
+ /*resultFeedback*/
4028
+ ctx2[0]
4029
+ );
4030
+ if (!current || dirty & /*isSkipped, isResultCorrect*/
4031
+ 12 && div1_class_value !== (div1_class_value = "my-6 p-4 border-l-4 text-charcoal text-base flex " + /*isSkipped*/
4032
+ (ctx2[3] ? "border-blue-950 bg-blue-50" : (
4026
4033
  /*isResultCorrect*/
4027
- ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4034
+ ctx2[2] ? "border-green-900 bg-green-300" : "border-red-900 bg-red-50"
4028
4035
  )))) {
4029
- attr(textarea, "class", textarea_class_value);
4030
- }
4031
- if (dirty[0] & /*isDataSaving*/
4032
- 1) {
4033
- textarea.disabled = /*isDataSaving*/
4034
- ctx2[0];
4035
- }
4036
- if (dirty[0] & /*typeinAnswer*/
4037
- 8) {
4038
- set_input_value(
4039
- textarea,
4040
- /*typeinAnswer*/
4041
- ctx2[3]
4042
- );
4036
+ attr(div1, "class", div1_class_value);
4043
4037
  }
4044
4038
  },
4045
- i: noop,
4046
- o: noop,
4039
+ i(local) {
4040
+ if (current)
4041
+ return;
4042
+ transition_in(if_block0);
4043
+ current = true;
4044
+ },
4045
+ o(local) {
4046
+ transition_out(if_block0);
4047
+ current = false;
4048
+ },
4049
+ d(detaching) {
4050
+ if (detaching) {
4051
+ detach(div1);
4052
+ }
4053
+ if (if_block0)
4054
+ if_block0.d();
4055
+ if (if_block1)
4056
+ if_block1.d();
4057
+ }
4058
+ };
4059
+ }
4060
+ function create_if_block_24(ctx) {
4061
+ let span;
4062
+ let infosolid;
4063
+ let span_class_value;
4064
+ let current;
4065
+ infosolid = new InfoSolid_default({});
4066
+ return {
4067
+ c() {
4068
+ span = element("span");
4069
+ create_component(infosolid.$$.fragment);
4070
+ attr(span, "class", span_class_value = "h-6 w-6 flex items-center pt-0.5 mr-2 " + /*isSkipped*/
4071
+ (ctx[3] ? "text-blue-950" : (
4072
+ /*isResultCorrect*/
4073
+ ctx[2] ? "text-green-900" : "text-red-900"
4074
+ )));
4075
+ },
4076
+ m(target, anchor) {
4077
+ insert(target, span, anchor);
4078
+ mount_component(infosolid, span, null);
4079
+ current = true;
4080
+ },
4081
+ p(ctx2, dirty) {
4082
+ if (!current || dirty & /*isSkipped, isResultCorrect*/
4083
+ 12 && span_class_value !== (span_class_value = "h-6 w-6 flex items-center pt-0.5 mr-2 " + /*isSkipped*/
4084
+ (ctx2[3] ? "text-blue-950" : (
4085
+ /*isResultCorrect*/
4086
+ ctx2[2] ? "text-green-900" : "text-red-900"
4087
+ )))) {
4088
+ attr(span, "class", span_class_value);
4089
+ }
4090
+ },
4091
+ i(local) {
4092
+ if (current)
4093
+ return;
4094
+ transition_in(infosolid.$$.fragment, local);
4095
+ current = true;
4096
+ },
4097
+ o(local) {
4098
+ transition_out(infosolid.$$.fragment, local);
4099
+ current = false;
4100
+ },
4101
+ d(detaching) {
4102
+ if (detaching) {
4103
+ detach(span);
4104
+ }
4105
+ destroy_component(infosolid);
4106
+ }
4107
+ };
4108
+ }
4109
+ function create_if_block_15(ctx) {
4110
+ let span;
4111
+ let t2;
4112
+ return {
4113
+ c() {
4114
+ span = element("span");
4115
+ t2 = text(
4116
+ /*resultFeedbackTitle*/
4117
+ ctx[1]
4118
+ );
4119
+ attr(span, "class", "block mb-1 font-semibold");
4120
+ },
4121
+ m(target, anchor) {
4122
+ insert(target, span, anchor);
4123
+ append(span, t2);
4124
+ },
4125
+ p(ctx2, dirty) {
4126
+ if (dirty & /*resultFeedbackTitle*/
4127
+ 2)
4128
+ set_data(
4129
+ t2,
4130
+ /*resultFeedbackTitle*/
4131
+ ctx2[1]
4132
+ );
4133
+ },
4134
+ d(detaching) {
4135
+ if (detaching) {
4136
+ detach(span);
4137
+ }
4138
+ }
4139
+ };
4140
+ }
4141
+ function create_fragment9(ctx) {
4142
+ let if_block_anchor;
4143
+ let current;
4144
+ let if_block = (
4145
+ /*resultFeedback*/
4146
+ ctx[0] && create_if_block6(ctx)
4147
+ );
4148
+ return {
4149
+ c() {
4150
+ if (if_block)
4151
+ if_block.c();
4152
+ if_block_anchor = empty();
4153
+ },
4154
+ m(target, anchor) {
4155
+ if (if_block)
4156
+ if_block.m(target, anchor);
4157
+ insert(target, if_block_anchor, anchor);
4158
+ current = true;
4159
+ },
4160
+ p(ctx2, [dirty]) {
4161
+ if (
4162
+ /*resultFeedback*/
4163
+ ctx2[0]
4164
+ ) {
4165
+ if (if_block) {
4166
+ if_block.p(ctx2, dirty);
4167
+ if (dirty & /*resultFeedback*/
4168
+ 1) {
4169
+ transition_in(if_block, 1);
4170
+ }
4171
+ } else {
4172
+ if_block = create_if_block6(ctx2);
4173
+ if_block.c();
4174
+ transition_in(if_block, 1);
4175
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
4176
+ }
4177
+ } else if (if_block) {
4178
+ group_outros();
4179
+ transition_out(if_block, 1, 1, () => {
4180
+ if_block = null;
4181
+ });
4182
+ check_outros();
4183
+ }
4184
+ },
4185
+ i(local) {
4186
+ if (current)
4187
+ return;
4188
+ transition_in(if_block);
4189
+ current = true;
4190
+ },
4191
+ o(local) {
4192
+ transition_out(if_block);
4193
+ current = false;
4194
+ },
4195
+ d(detaching) {
4196
+ if (detaching) {
4197
+ detach(if_block_anchor);
4198
+ }
4199
+ if (if_block)
4200
+ if_block.d(detaching);
4201
+ }
4202
+ };
4203
+ }
4204
+ function instance6($$self, $$props, $$invalidate) {
4205
+ let { resultFeedback = null } = $$props;
4206
+ let { resultFeedbackTitle = null } = $$props;
4207
+ let { isResultCorrect = true } = $$props;
4208
+ let { isSkipped = false } = $$props;
4209
+ let { hasIcon = false } = $$props;
4210
+ $$self.$$set = ($$props2) => {
4211
+ if ("resultFeedback" in $$props2)
4212
+ $$invalidate(0, resultFeedback = $$props2.resultFeedback);
4213
+ if ("resultFeedbackTitle" in $$props2)
4214
+ $$invalidate(1, resultFeedbackTitle = $$props2.resultFeedbackTitle);
4215
+ if ("isResultCorrect" in $$props2)
4216
+ $$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
4217
+ if ("isSkipped" in $$props2)
4218
+ $$invalidate(3, isSkipped = $$props2.isSkipped);
4219
+ if ("hasIcon" in $$props2)
4220
+ $$invalidate(4, hasIcon = $$props2.hasIcon);
4221
+ };
4222
+ $$self.$$.update = () => {
4223
+ if ($$self.$$.dirty & /*isSkipped*/
4224
+ 8) {
4225
+ $:
4226
+ if (isSkipped) {
4227
+ $$invalidate(1, resultFeedbackTitle = "No answer was provided");
4228
+ $$invalidate(0, resultFeedback = "It may be that the student struggled with this question or mistakenly skipped this question.");
4229
+ }
4230
+ }
4231
+ };
4232
+ return [resultFeedback, resultFeedbackTitle, isResultCorrect, isSkipped, hasIcon];
4233
+ }
4234
+ var PromptResultFeedbackv2 = class extends SvelteComponent {
4235
+ constructor(options) {
4236
+ super();
4237
+ init(this, options, instance6, create_fragment9, safe_not_equal, {
4238
+ resultFeedback: 0,
4239
+ resultFeedbackTitle: 1,
4240
+ isResultCorrect: 2,
4241
+ isSkipped: 3,
4242
+ hasIcon: 4
4243
+ });
4244
+ }
4245
+ get resultFeedback() {
4246
+ return this.$$.ctx[0];
4247
+ }
4248
+ set resultFeedback(resultFeedback) {
4249
+ this.$$set({ resultFeedback });
4250
+ flush();
4251
+ }
4252
+ get resultFeedbackTitle() {
4253
+ return this.$$.ctx[1];
4254
+ }
4255
+ set resultFeedbackTitle(resultFeedbackTitle) {
4256
+ this.$$set({ resultFeedbackTitle });
4257
+ flush();
4258
+ }
4259
+ get isResultCorrect() {
4260
+ return this.$$.ctx[2];
4261
+ }
4262
+ set isResultCorrect(isResultCorrect) {
4263
+ this.$$set({ isResultCorrect });
4264
+ flush();
4265
+ }
4266
+ get isSkipped() {
4267
+ return this.$$.ctx[3];
4268
+ }
4269
+ set isSkipped(isSkipped) {
4270
+ this.$$set({ isSkipped });
4271
+ flush();
4272
+ }
4273
+ get hasIcon() {
4274
+ return this.$$.ctx[4];
4275
+ }
4276
+ set hasIcon(hasIcon) {
4277
+ this.$$set({ hasIcon });
4278
+ flush();
4279
+ }
4280
+ };
4281
+ customElements.define("prompt-result-feedbackv2", create_custom_element(PromptResultFeedbackv2, { "resultFeedback": {}, "resultFeedbackTitle": {}, "isResultCorrect": { "type": "Boolean" }, "isSkipped": { "type": "Boolean" }, "hasIcon": { "type": "Boolean" } }, [], [], true));
4282
+ var PromptResultFeedbackv2_default = PromptResultFeedbackv2;
4283
+
4284
+ // src/lib/components/common/InvalidBanner.svelte
4285
+ function create_fragment10(ctx) {
4286
+ let p;
4287
+ let t2;
4288
+ return {
4289
+ c() {
4290
+ p = element("p");
4291
+ t2 = text(
4292
+ /*bannerLabel*/
4293
+ ctx[0]
4294
+ );
4295
+ attr(p, "class", "p-2 border-2 border-red-600 bg-red-200 rounded");
4296
+ },
4297
+ m(target, anchor) {
4298
+ insert(target, p, anchor);
4299
+ append(p, t2);
4300
+ },
4301
+ p(ctx2, [dirty]) {
4302
+ if (dirty & /*bannerLabel*/
4303
+ 1)
4304
+ set_data(
4305
+ t2,
4306
+ /*bannerLabel*/
4307
+ ctx2[0]
4308
+ );
4309
+ },
4310
+ i: noop,
4311
+ o: noop,
4312
+ d(detaching) {
4313
+ if (detaching) {
4314
+ detach(p);
4315
+ }
4316
+ }
4317
+ };
4318
+ }
4319
+ function instance7($$self, $$props, $$invalidate) {
4320
+ let { bannerLabel: bannerLabel2 = "Invalid." } = $$props;
4321
+ $$self.$$set = ($$props2) => {
4322
+ if ("bannerLabel" in $$props2)
4323
+ $$invalidate(0, bannerLabel2 = $$props2.bannerLabel);
4324
+ };
4325
+ return [bannerLabel2];
4326
+ }
4327
+ var InvalidBanner = class extends SvelteComponent {
4328
+ constructor(options) {
4329
+ super();
4330
+ init(this, options, instance7, create_fragment10, safe_not_equal, { bannerLabel: 0 });
4331
+ }
4332
+ get bannerLabel() {
4333
+ return this.$$.ctx[0];
4334
+ }
4335
+ set bannerLabel(bannerLabel2) {
4336
+ this.$$set({ bannerLabel: bannerLabel2 });
4337
+ flush();
4338
+ }
4339
+ };
4340
+ customElements.define("invalid-banner", create_custom_element(InvalidBanner, { "bannerLabel": {} }, [], [], true));
4341
+ var InvalidBanner_default = InvalidBanner;
4342
+
4343
+ // src/lib/components/prompt/typein/PromptTypeIn.svelte
4344
+ function get_each_context2(ctx, list, i) {
4345
+ const child_ctx = ctx.slice();
4346
+ child_ctx[58] = list[i];
4347
+ child_ctx[60] = i;
4348
+ return child_ctx;
4349
+ }
4350
+ function get_each_context_1(ctx, list, i) {
4351
+ const child_ctx = ctx.slice();
4352
+ child_ctx[61] = list[i];
4353
+ child_ctx[63] = i;
4354
+ return child_ctx;
4355
+ }
4356
+ function create_else_block_4(ctx) {
4357
+ let textarea;
4358
+ let textarea_class_value;
4359
+ let autosize_action;
4360
+ let mounted;
4361
+ let dispose;
4362
+ return {
4363
+ c() {
4364
+ textarea = element("textarea");
4365
+ attr(textarea, "id", idLabel);
4366
+ attr(
4367
+ textarea,
4368
+ "aria-label",
4369
+ /*textAriaLabel*/
4370
+ ctx[16]
4371
+ );
4372
+ attr(
4373
+ textarea,
4374
+ "placeholder",
4375
+ /*placeholder*/
4376
+ ctx[9]
4377
+ );
4378
+ attr(textarea, "rows", "3");
4379
+ attr(textarea, "class", textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4380
+ ctx[0] ? "" : (
4381
+ /*isResultCorrect*/
4382
+ ctx[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4383
+ )));
4384
+ textarea.disabled = /*isDataSaving*/
4385
+ ctx[2];
4386
+ attr(textarea, "autocomplete", "off");
4387
+ textarea.readOnly = /*isReadonlyText*/
4388
+ ctx[23];
4389
+ },
4390
+ m(target, anchor) {
4391
+ insert(target, textarea, anchor);
4392
+ set_input_value(
4393
+ textarea,
4394
+ /*typeinAnswer*/
4395
+ ctx[5]
4396
+ );
4397
+ if (!mounted) {
4398
+ dispose = [
4399
+ listen(
4400
+ textarea,
4401
+ "input",
4402
+ /*textarea_input_handler*/
4403
+ ctx[36]
4404
+ ),
4405
+ listen(
4406
+ textarea,
4407
+ "mousedown",
4408
+ /*mousedown_handler*/
4409
+ ctx[37]
4410
+ ),
4411
+ listen(
4412
+ textarea,
4413
+ "touchstart",
4414
+ /*touchstart_handler*/
4415
+ ctx[38],
4416
+ { passive: true }
4417
+ ),
4418
+ listen(
4419
+ textarea,
4420
+ "focus",
4421
+ /*focus_handler*/
4422
+ ctx[39]
4423
+ ),
4424
+ listen(
4425
+ textarea,
4426
+ "focusout",
4427
+ /*focusout_handler_1*/
4428
+ ctx[40]
4429
+ ),
4430
+ listen(
4431
+ textarea,
4432
+ "keydown",
4433
+ /*keydown_handler_1*/
4434
+ ctx[41]
4435
+ ),
4436
+ action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea))
4437
+ ];
4438
+ mounted = true;
4439
+ }
4440
+ },
4441
+ p(ctx2, dirty) {
4442
+ if (dirty[0] & /*textAriaLabel*/
4443
+ 65536) {
4444
+ attr(
4445
+ textarea,
4446
+ "aria-label",
4447
+ /*textAriaLabel*/
4448
+ ctx2[16]
4449
+ );
4450
+ }
4451
+ if (dirty[0] & /*placeholder*/
4452
+ 512) {
4453
+ attr(
4454
+ textarea,
4455
+ "placeholder",
4456
+ /*placeholder*/
4457
+ ctx2[9]
4458
+ );
4459
+ }
4460
+ if (dirty[0] & /*isFinished, isResultCorrect*/
4461
+ 3 && textarea_class_value !== (textarea_class_value = "typein-textbox overflow-hidden " + (!/*isFinished*/
4462
+ ctx2[0] ? "" : (
4463
+ /*isResultCorrect*/
4464
+ ctx2[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4465
+ )))) {
4466
+ attr(textarea, "class", textarea_class_value);
4467
+ }
4468
+ if (dirty[0] & /*isDataSaving*/
4469
+ 4) {
4470
+ textarea.disabled = /*isDataSaving*/
4471
+ ctx2[2];
4472
+ }
4473
+ if (dirty[0] & /*typeinAnswer*/
4474
+ 32) {
4475
+ set_input_value(
4476
+ textarea,
4477
+ /*typeinAnswer*/
4478
+ ctx2[5]
4479
+ );
4480
+ }
4481
+ },
4482
+ i: noop,
4483
+ o: noop,
4047
4484
  d(detaching) {
4048
4485
  if (detaching) {
4049
4486
  detach(textarea);
@@ -4053,7 +4490,7 @@
4053
4490
  }
4054
4491
  };
4055
4492
  }
4056
- function create_if_block_43(ctx) {
4493
+ function create_if_block_92(ctx) {
4057
4494
  let input;
4058
4495
  let input_class_value;
4059
4496
  let mounted;
@@ -4067,31 +4504,31 @@
4067
4504
  input,
4068
4505
  "aria-label",
4069
4506
  /*textAriaLabel*/
4070
- ctx[9]
4507
+ ctx[16]
4071
4508
  );
4072
4509
  attr(
4073
4510
  input,
4074
4511
  "placeholder",
4075
4512
  /*placeholder*/
4076
- ctx[5]
4513
+ ctx[9]
4077
4514
  );
4078
4515
  attr(input, "class", input_class_value = "typein-textbox " + (!/*isFinished*/
4079
- ctx[1] ? "" : (
4516
+ ctx[0] ? "" : (
4080
4517
  /*isResultCorrect*/
4081
- ctx[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4518
+ ctx[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4082
4519
  )));
4083
4520
  input.disabled = /*isDataSaving*/
4084
- ctx[0];
4521
+ ctx[2];
4085
4522
  attr(input, "autocomplete", "off");
4086
4523
  input.readOnly = /*isReadonlyText*/
4087
- ctx[14];
4524
+ ctx[23];
4088
4525
  },
4089
4526
  m(target, anchor) {
4090
4527
  insert(target, input, anchor);
4091
4528
  set_input_value(
4092
4529
  input,
4093
4530
  /*typeinAnswer*/
4094
- ctx[3]
4531
+ ctx[5]
4095
4532
  );
4096
4533
  if (!mounted) {
4097
4534
  dispose = [
@@ -4099,110 +4536,390 @@
4099
4536
  input,
4100
4537
  "input",
4101
4538
  /*input_input_handler*/
4102
- ctx[22]
4539
+ ctx[33]
4103
4540
  ),
4104
4541
  listen(
4105
4542
  input,
4106
4543
  "focusout",
4107
4544
  /*focusout_handler*/
4108
- ctx[23]
4545
+ ctx[34]
4109
4546
  ),
4110
4547
  listen(
4111
4548
  input,
4112
4549
  "keydown",
4113
4550
  /*keydown_handler*/
4114
- ctx[24]
4551
+ ctx[35]
4115
4552
  )
4116
4553
  ];
4117
4554
  mounted = true;
4118
4555
  }
4119
4556
  },
4120
4557
  p(ctx2, dirty) {
4121
- if (dirty[0] & /*textAriaLabel*/
4122
- 512) {
4123
- attr(
4124
- input,
4125
- "aria-label",
4126
- /*textAriaLabel*/
4127
- ctx2[9]
4128
- );
4129
- }
4130
- if (dirty[0] & /*placeholder*/
4131
- 32) {
4132
- attr(
4133
- input,
4134
- "placeholder",
4135
- /*placeholder*/
4136
- ctx2[5]
4137
- );
4138
- }
4139
- if (dirty[0] & /*isFinished, isResultCorrect*/
4140
- 6 && input_class_value !== (input_class_value = "typein-textbox " + (!/*isFinished*/
4141
- ctx2[1] ? "" : (
4142
- /*isResultCorrect*/
4143
- ctx2[2] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4144
- )))) {
4145
- attr(input, "class", input_class_value);
4146
- }
4147
- if (dirty[0] & /*isDataSaving*/
4148
- 1) {
4149
- input.disabled = /*isDataSaving*/
4150
- ctx2[0];
4151
- }
4152
- if (dirty[0] & /*typeinAnswer*/
4153
- 8 && input.value !== /*typeinAnswer*/
4154
- ctx2[3]) {
4155
- set_input_value(
4156
- input,
4157
- /*typeinAnswer*/
4158
- ctx2[3]
4159
- );
4160
- }
4558
+ if (dirty[0] & /*textAriaLabel*/
4559
+ 65536) {
4560
+ attr(
4561
+ input,
4562
+ "aria-label",
4563
+ /*textAriaLabel*/
4564
+ ctx2[16]
4565
+ );
4566
+ }
4567
+ if (dirty[0] & /*placeholder*/
4568
+ 512) {
4569
+ attr(
4570
+ input,
4571
+ "placeholder",
4572
+ /*placeholder*/
4573
+ ctx2[9]
4574
+ );
4575
+ }
4576
+ if (dirty[0] & /*isFinished, isResultCorrect*/
4577
+ 3 && input_class_value !== (input_class_value = "typein-textbox " + (!/*isFinished*/
4578
+ ctx2[0] ? "" : (
4579
+ /*isResultCorrect*/
4580
+ ctx2[1] ? "border-2 border-green-800" : "border-2 border-red-800 bg-red-300"
4581
+ )))) {
4582
+ attr(input, "class", input_class_value);
4583
+ }
4584
+ if (dirty[0] & /*isDataSaving*/
4585
+ 4) {
4586
+ input.disabled = /*isDataSaving*/
4587
+ ctx2[2];
4588
+ }
4589
+ if (dirty[0] & /*typeinAnswer*/
4590
+ 32 && input.value !== /*typeinAnswer*/
4591
+ ctx2[5]) {
4592
+ set_input_value(
4593
+ input,
4594
+ /*typeinAnswer*/
4595
+ ctx2[5]
4596
+ );
4597
+ }
4598
+ },
4599
+ i: noop,
4600
+ o: noop,
4601
+ d(detaching) {
4602
+ if (detaching) {
4603
+ detach(input);
4604
+ }
4605
+ mounted = false;
4606
+ run_all(dispose);
4607
+ }
4608
+ };
4609
+ }
4610
+ function create_if_block_72(ctx) {
4611
+ let current_block_type_index;
4612
+ let if_block;
4613
+ let if_block_anchor;
4614
+ let current;
4615
+ const if_block_creators = [create_if_block_82, create_else_block_3];
4616
+ const if_blocks = [];
4617
+ function select_block_type_1(ctx2, dirty) {
4618
+ if (
4619
+ /*inlinePromptString*/
4620
+ ctx2[11]
4621
+ )
4622
+ return 0;
4623
+ return 1;
4624
+ }
4625
+ current_block_type_index = select_block_type_1(ctx, [-1, -1, -1]);
4626
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4627
+ return {
4628
+ c() {
4629
+ if_block.c();
4630
+ if_block_anchor = empty();
4631
+ },
4632
+ m(target, anchor) {
4633
+ if_blocks[current_block_type_index].m(target, anchor);
4634
+ insert(target, if_block_anchor, anchor);
4635
+ current = true;
4636
+ },
4637
+ p(ctx2, dirty) {
4638
+ let previous_block_index = current_block_type_index;
4639
+ current_block_type_index = select_block_type_1(ctx2, dirty);
4640
+ if (current_block_type_index === previous_block_index) {
4641
+ if_blocks[current_block_type_index].p(ctx2, dirty);
4642
+ } else {
4643
+ group_outros();
4644
+ transition_out(if_blocks[previous_block_index], 1, 1, () => {
4645
+ if_blocks[previous_block_index] = null;
4646
+ });
4647
+ check_outros();
4648
+ if_block = if_blocks[current_block_type_index];
4649
+ if (!if_block) {
4650
+ if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
4651
+ if_block.c();
4652
+ } else {
4653
+ if_block.p(ctx2, dirty);
4654
+ }
4655
+ transition_in(if_block, 1);
4656
+ if_block.m(if_block_anchor.parentNode, if_block_anchor);
4657
+ }
4658
+ },
4659
+ i(local) {
4660
+ if (current)
4661
+ return;
4662
+ transition_in(if_block);
4663
+ current = true;
4664
+ },
4665
+ o(local) {
4666
+ transition_out(if_block);
4667
+ current = false;
4668
+ },
4669
+ d(detaching) {
4670
+ if (detaching) {
4671
+ detach(if_block_anchor);
4672
+ }
4673
+ if_blocks[current_block_type_index].d(detaching);
4674
+ }
4675
+ };
4676
+ }
4677
+ function create_else_block_3(ctx) {
4678
+ let invalidbanner;
4679
+ let current;
4680
+ invalidbanner = new InvalidBanner_default({
4681
+ props: {
4682
+ bannerLabel: "No prompt was provided. Please contact the administrator for assistance."
4683
+ }
4684
+ });
4685
+ return {
4686
+ c() {
4687
+ create_component(invalidbanner.$$.fragment);
4688
+ },
4689
+ m(target, anchor) {
4690
+ mount_component(invalidbanner, target, anchor);
4691
+ current = true;
4692
+ },
4693
+ p: noop,
4694
+ i(local) {
4695
+ if (current)
4696
+ return;
4697
+ transition_in(invalidbanner.$$.fragment, local);
4698
+ current = true;
4699
+ },
4700
+ o(local) {
4701
+ transition_out(invalidbanner.$$.fragment, local);
4702
+ current = false;
4703
+ },
4704
+ d(detaching) {
4705
+ destroy_component(invalidbanner, detaching);
4706
+ }
4707
+ };
4708
+ }
4709
+ function create_if_block_82(ctx) {
4710
+ let div0;
4711
+ let commonstringtohtml;
4712
+ let t0;
4713
+ let div1;
4714
+ let t1;
4715
+ let div2;
4716
+ let div2_class_value;
4717
+ let current;
4718
+ commonstringtohtml = new CommonStringToHtml_default({
4719
+ props: {
4720
+ htmlString: (
4721
+ /*inlinePromptString*/
4722
+ ctx[11]
4723
+ ),
4724
+ otherClass: "inline-typein-container mt-6"
4725
+ }
4726
+ });
4727
+ return {
4728
+ c() {
4729
+ div0 = element("div");
4730
+ create_component(commonstringtohtml.$$.fragment);
4731
+ t0 = space();
4732
+ div1 = element("div");
4733
+ t1 = space();
4734
+ div2 = element("div");
4735
+ attr(div1, "class", "divider my-6");
4736
+ attr(div2, "class", div2_class_value = "absolute inset-0 bg-transparent " + /*isDataSaving*/
4737
+ (ctx[2] ? "" : "hidden"));
4738
+ },
4739
+ m(target, anchor) {
4740
+ insert(target, div0, anchor);
4741
+ mount_component(commonstringtohtml, div0, null);
4742
+ ctx[32](div0);
4743
+ insert(target, t0, anchor);
4744
+ insert(target, div1, anchor);
4745
+ insert(target, t1, anchor);
4746
+ insert(target, div2, anchor);
4747
+ current = true;
4748
+ },
4749
+ p(ctx2, dirty) {
4750
+ const commonstringtohtml_changes = {};
4751
+ if (dirty[0] & /*inlinePromptString*/
4752
+ 2048)
4753
+ commonstringtohtml_changes.htmlString = /*inlinePromptString*/
4754
+ ctx2[11];
4755
+ commonstringtohtml.$set(commonstringtohtml_changes);
4756
+ if (!current || dirty[0] & /*isDataSaving*/
4757
+ 4 && div2_class_value !== (div2_class_value = "absolute inset-0 bg-transparent " + /*isDataSaving*/
4758
+ (ctx2[2] ? "" : "hidden"))) {
4759
+ attr(div2, "class", div2_class_value);
4760
+ }
4761
+ },
4762
+ i(local) {
4763
+ if (current)
4764
+ return;
4765
+ transition_in(commonstringtohtml.$$.fragment, local);
4766
+ current = true;
4767
+ },
4768
+ o(local) {
4769
+ transition_out(commonstringtohtml.$$.fragment, local);
4770
+ current = false;
4771
+ },
4772
+ d(detaching) {
4773
+ if (detaching) {
4774
+ detach(div0);
4775
+ detach(t0);
4776
+ detach(div1);
4777
+ detach(t1);
4778
+ detach(div2);
4779
+ }
4780
+ destroy_component(commonstringtohtml);
4781
+ ctx[32](null);
4782
+ }
4783
+ };
4784
+ }
4785
+ function create_if_block7(ctx) {
4786
+ let t0;
4787
+ let current_block_type_index;
4788
+ let if_block1;
4789
+ let t1;
4790
+ let if_block2_anchor;
4791
+ let current;
4792
+ let if_block0 = !/*isInlineTypein*/
4793
+ ctx[22] && create_if_block_52(ctx);
4794
+ const if_block_creators = [create_if_block_43, create_else_block_1];
4795
+ const if_blocks = [];
4796
+ function select_block_type_3(ctx2, dirty) {
4797
+ if (!/*isInlineTypein*/
4798
+ ctx2[22])
4799
+ return 0;
4800
+ return 1;
4801
+ }
4802
+ current_block_type_index = select_block_type_3(ctx, [-1, -1, -1]);
4803
+ if_block1 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4804
+ let if_block2 = (
4805
+ /*isInlineTypein*/
4806
+ ctx[22] && create_if_block_16(ctx)
4807
+ );
4808
+ return {
4809
+ c() {
4810
+ if (if_block0)
4811
+ if_block0.c();
4812
+ t0 = space();
4813
+ if_block1.c();
4814
+ t1 = space();
4815
+ if (if_block2)
4816
+ if_block2.c();
4817
+ if_block2_anchor = empty();
4818
+ },
4819
+ m(target, anchor) {
4820
+ if (if_block0)
4821
+ if_block0.m(target, anchor);
4822
+ insert(target, t0, anchor);
4823
+ if_blocks[current_block_type_index].m(target, anchor);
4824
+ insert(target, t1, anchor);
4825
+ if (if_block2)
4826
+ if_block2.m(target, anchor);
4827
+ insert(target, if_block2_anchor, anchor);
4828
+ current = true;
4829
+ },
4830
+ p(ctx2, dirty) {
4831
+ if (!/*isInlineTypein*/
4832
+ ctx2[22])
4833
+ if_block0.p(ctx2, dirty);
4834
+ if_block1.p(ctx2, dirty);
4835
+ if (
4836
+ /*isInlineTypein*/
4837
+ ctx2[22]
4838
+ )
4839
+ if_block2.p(ctx2, dirty);
4840
+ },
4841
+ i(local) {
4842
+ if (current)
4843
+ return;
4844
+ transition_in(if_block0);
4845
+ transition_in(if_block1);
4846
+ transition_in(if_block2);
4847
+ current = true;
4848
+ },
4849
+ o(local) {
4850
+ transition_out(if_block0);
4851
+ transition_out(if_block1);
4852
+ transition_out(if_block2);
4853
+ current = false;
4161
4854
  },
4162
- i: noop,
4163
- o: noop,
4164
4855
  d(detaching) {
4165
4856
  if (detaching) {
4166
- detach(input);
4857
+ detach(t0);
4858
+ detach(t1);
4859
+ detach(if_block2_anchor);
4167
4860
  }
4168
- mounted = false;
4169
- run_all(dispose);
4861
+ if (if_block0)
4862
+ if_block0.d(detaching);
4863
+ if_blocks[current_block_type_index].d(detaching);
4864
+ if (if_block2)
4865
+ if_block2.d(detaching);
4170
4866
  }
4171
4867
  };
4172
4868
  }
4173
- function create_if_block_24(ctx) {
4869
+ function create_if_block_52(ctx) {
4870
+ let div;
4871
+ let span0;
4174
4872
  let current_block_type_index;
4175
4873
  let if_block;
4176
- let if_block_anchor;
4874
+ let span0_class_value;
4875
+ let t0;
4876
+ let span1;
4877
+ let t1;
4878
+ let div_class_value;
4177
4879
  let current;
4178
- const if_block_creators = [create_if_block_33, create_else_block_1];
4880
+ const if_block_creators = [create_if_block_62, create_else_block_2];
4179
4881
  const if_blocks = [];
4180
- function select_block_type_1(ctx2, dirty) {
4882
+ function select_block_type_2(ctx2, dirty) {
4181
4883
  if (
4182
- /*inlinePromptString*/
4183
- ctx2[7]
4884
+ /*isResultCorrect*/
4885
+ ctx2[1]
4184
4886
  )
4185
4887
  return 0;
4186
4888
  return 1;
4187
4889
  }
4188
- current_block_type_index = select_block_type_1(ctx, [-1, -1]);
4890
+ current_block_type_index = select_block_type_2(ctx, [-1, -1, -1]);
4189
4891
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4190
4892
  return {
4191
4893
  c() {
4894
+ div = element("div");
4895
+ span0 = element("span");
4192
4896
  if_block.c();
4193
- if_block_anchor = empty();
4897
+ t0 = space();
4898
+ span1 = element("span");
4899
+ t1 = text(
4900
+ /*resultLabel*/
4901
+ ctx[10]
4902
+ );
4903
+ attr(span0, "class", span0_class_value = /*isResultCorrect*/
4904
+ (ctx[1] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
4905
+ attr(span1, "class", "p2");
4906
+ attr(div, "aria-hidden", "true");
4907
+ attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
4908
+ (ctx[21] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
4194
4909
  },
4195
4910
  m(target, anchor) {
4196
- if_blocks[current_block_type_index].m(target, anchor);
4197
- insert(target, if_block_anchor, anchor);
4911
+ insert(target, div, anchor);
4912
+ append(div, span0);
4913
+ if_blocks[current_block_type_index].m(span0, null);
4914
+ append(div, t0);
4915
+ append(div, span1);
4916
+ append(span1, t1);
4198
4917
  current = true;
4199
4918
  },
4200
4919
  p(ctx2, dirty) {
4201
4920
  let previous_block_index = current_block_type_index;
4202
- current_block_type_index = select_block_type_1(ctx2, dirty);
4203
- if (current_block_type_index === previous_block_index) {
4204
- if_blocks[current_block_type_index].p(ctx2, dirty);
4205
- } else {
4921
+ current_block_type_index = select_block_type_2(ctx2, dirty);
4922
+ if (current_block_type_index !== previous_block_index) {
4206
4923
  group_outros();
4207
4924
  transition_out(if_blocks[previous_block_index], 1, 1, () => {
4208
4925
  if_blocks[previous_block_index] = null;
@@ -4213,11 +4930,22 @@
4213
4930
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2);
4214
4931
  if_block.c();
4215
4932
  } else {
4216
- if_block.p(ctx2, dirty);
4217
4933
  }
4218
4934
  transition_in(if_block, 1);
4219
- if_block.m(if_block_anchor.parentNode, if_block_anchor);
4935
+ if_block.m(span0, null);
4936
+ }
4937
+ if (!current || dirty[0] & /*isResultCorrect*/
4938
+ 2 && span0_class_value !== (span0_class_value = /*isResultCorrect*/
4939
+ (ctx2[1] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5")) {
4940
+ attr(span0, "class", span0_class_value);
4220
4941
  }
4942
+ if (!current || dirty[0] & /*resultLabel*/
4943
+ 1024)
4944
+ set_data(
4945
+ t1,
4946
+ /*resultLabel*/
4947
+ ctx2[10]
4948
+ );
4221
4949
  },
4222
4950
  i(local) {
4223
4951
  if (current)
@@ -4231,169 +4959,321 @@
4231
4959
  },
4232
4960
  d(detaching) {
4233
4961
  if (detaching) {
4234
- detach(if_block_anchor);
4962
+ detach(div);
4235
4963
  }
4236
- if_blocks[current_block_type_index].d(detaching);
4964
+ if_blocks[current_block_type_index].d();
4965
+ }
4966
+ };
4967
+ }
4968
+ function create_else_block_2(ctx) {
4969
+ let errorsolid;
4970
+ let current;
4971
+ errorsolid = new ErrorSolid_default({});
4972
+ return {
4973
+ c() {
4974
+ create_component(errorsolid.$$.fragment);
4975
+ },
4976
+ m(target, anchor) {
4977
+ mount_component(errorsolid, target, anchor);
4978
+ current = true;
4979
+ },
4980
+ i(local) {
4981
+ if (current)
4982
+ return;
4983
+ transition_in(errorsolid.$$.fragment, local);
4984
+ current = true;
4985
+ },
4986
+ o(local) {
4987
+ transition_out(errorsolid.$$.fragment, local);
4988
+ current = false;
4989
+ },
4990
+ d(detaching) {
4991
+ destroy_component(errorsolid, detaching);
4992
+ }
4993
+ };
4994
+ }
4995
+ function create_if_block_62(ctx) {
4996
+ let successsolid;
4997
+ let current;
4998
+ successsolid = new SuccessSolid_default({});
4999
+ return {
5000
+ c() {
5001
+ create_component(successsolid.$$.fragment);
5002
+ },
5003
+ m(target, anchor) {
5004
+ mount_component(successsolid, target, anchor);
5005
+ current = true;
5006
+ },
5007
+ i(local) {
5008
+ if (current)
5009
+ return;
5010
+ transition_in(successsolid.$$.fragment, local);
5011
+ current = true;
5012
+ },
5013
+ o(local) {
5014
+ transition_out(successsolid.$$.fragment, local);
5015
+ current = false;
5016
+ },
5017
+ d(detaching) {
5018
+ destroy_component(successsolid, detaching);
4237
5019
  }
4238
5020
  };
4239
5021
  }
4240
5022
  function create_else_block_1(ctx) {
4241
- let invalidbanner;
5023
+ let promptresultv2;
4242
5024
  let current;
4243
- invalidbanner = new InvalidBanner_default({
5025
+ promptresultv2 = new PromptResultFeedbackv2_default({
4244
5026
  props: {
4245
- bannerLabel: "No prompt was provided. Please contact the administrator for assistance."
5027
+ isResultCorrect: (
5028
+ /*isResultCorrect*/
5029
+ ctx[1]
5030
+ ),
5031
+ resultFeedback: (
5032
+ /*isSkippedAnswer*/
5033
+ ctx[8] ? "" : (
5034
+ /*resultFeedback*/
5035
+ ctx[6]
5036
+ )
5037
+ ),
5038
+ isSkipped: (
5039
+ /*isSkippedAnswer*/
5040
+ ctx[8]
5041
+ ),
5042
+ hasIcon: !/*isResultCorrect*/
5043
+ ctx[1] || /*isSkippedAnswer*/
5044
+ ctx[8],
5045
+ resultFeedbackTitle: (
5046
+ /*isResultCorrect*/
5047
+ ctx[1] || /*isSkippedAnswer*/
5048
+ ctx[8] ? "" : "Why they got it wrong"
5049
+ )
4246
5050
  }
4247
5051
  });
4248
5052
  return {
4249
5053
  c() {
4250
- create_component(invalidbanner.$$.fragment);
5054
+ create_component(promptresultv2.$$.fragment);
4251
5055
  },
4252
5056
  m(target, anchor) {
4253
- mount_component(invalidbanner, target, anchor);
5057
+ mount_component(promptresultv2, target, anchor);
4254
5058
  current = true;
4255
5059
  },
4256
- p: noop,
5060
+ p(ctx2, dirty) {
5061
+ const promptresultv2_changes = {};
5062
+ if (dirty[0] & /*isResultCorrect*/
5063
+ 2)
5064
+ promptresultv2_changes.isResultCorrect = /*isResultCorrect*/
5065
+ ctx2[1];
5066
+ if (dirty[0] & /*isSkippedAnswer, resultFeedback*/
5067
+ 320)
5068
+ promptresultv2_changes.resultFeedback = /*isSkippedAnswer*/
5069
+ ctx2[8] ? "" : (
5070
+ /*resultFeedback*/
5071
+ ctx2[6]
5072
+ );
5073
+ if (dirty[0] & /*isSkippedAnswer*/
5074
+ 256)
5075
+ promptresultv2_changes.isSkipped = /*isSkippedAnswer*/
5076
+ ctx2[8];
5077
+ if (dirty[0] & /*isResultCorrect, isSkippedAnswer*/
5078
+ 258)
5079
+ promptresultv2_changes.hasIcon = !/*isResultCorrect*/
5080
+ ctx2[1] || /*isSkippedAnswer*/
5081
+ ctx2[8];
5082
+ if (dirty[0] & /*isResultCorrect, isSkippedAnswer*/
5083
+ 258)
5084
+ promptresultv2_changes.resultFeedbackTitle = /*isResultCorrect*/
5085
+ ctx2[1] || /*isSkippedAnswer*/
5086
+ ctx2[8] ? "" : "Why they got it wrong";
5087
+ promptresultv2.$set(promptresultv2_changes);
5088
+ },
4257
5089
  i(local) {
4258
5090
  if (current)
4259
5091
  return;
4260
- transition_in(invalidbanner.$$.fragment, local);
5092
+ transition_in(promptresultv2.$$.fragment, local);
4261
5093
  current = true;
4262
5094
  },
4263
5095
  o(local) {
4264
- transition_out(invalidbanner.$$.fragment, local);
5096
+ transition_out(promptresultv2.$$.fragment, local);
4265
5097
  current = false;
4266
5098
  },
4267
5099
  d(detaching) {
4268
- destroy_component(invalidbanner, detaching);
5100
+ destroy_component(promptresultv2, detaching);
4269
5101
  }
4270
5102
  };
4271
5103
  }
4272
- function create_if_block_33(ctx) {
4273
- let commonstringtohtml;
4274
- let t2;
4275
- let div;
5104
+ function create_if_block_43(ctx) {
5105
+ let promptresult;
4276
5106
  let current;
4277
- commonstringtohtml = new CommonStringToHtml_default({
5107
+ promptresult = new PromptResultFeedback_default({
4278
5108
  props: {
4279
- htmlString: (
4280
- /*inlinePromptString*/
4281
- ctx[7]
5109
+ isResultCorrect: (
5110
+ /*isResultCorrect*/
5111
+ ctx[1]
4282
5112
  ),
4283
- otherClass: "inline-typein-container mt-6"
5113
+ resultFeedback: (
5114
+ /*resultFeedback*/
5115
+ ctx[6]
5116
+ )
5117
+ }
5118
+ });
5119
+ return {
5120
+ c() {
5121
+ create_component(promptresult.$$.fragment);
5122
+ },
5123
+ m(target, anchor) {
5124
+ mount_component(promptresult, target, anchor);
5125
+ current = true;
5126
+ },
5127
+ p(ctx2, dirty) {
5128
+ const promptresult_changes = {};
5129
+ if (dirty[0] & /*isResultCorrect*/
5130
+ 2)
5131
+ promptresult_changes.isResultCorrect = /*isResultCorrect*/
5132
+ ctx2[1];
5133
+ if (dirty[0] & /*resultFeedback*/
5134
+ 64)
5135
+ promptresult_changes.resultFeedback = /*resultFeedback*/
5136
+ ctx2[6];
5137
+ promptresult.$set(promptresult_changes);
5138
+ },
5139
+ i(local) {
5140
+ if (current)
5141
+ return;
5142
+ transition_in(promptresult.$$.fragment, local);
5143
+ current = true;
5144
+ },
5145
+ o(local) {
5146
+ transition_out(promptresult.$$.fragment, local);
5147
+ current = false;
5148
+ },
5149
+ d(detaching) {
5150
+ destroy_component(promptresult, detaching);
4284
5151
  }
5152
+ };
5153
+ }
5154
+ function create_if_block_16(ctx) {
5155
+ let each_1_anchor;
5156
+ let current;
5157
+ let each_value = ensure_array_like(
5158
+ /*correctAnswerData*/
5159
+ ctx[14]
5160
+ );
5161
+ let each_blocks = [];
5162
+ for (let i = 0; i < each_value.length; i += 1) {
5163
+ each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i));
5164
+ }
5165
+ const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
5166
+ each_blocks[i] = null;
4285
5167
  });
4286
5168
  return {
4287
5169
  c() {
4288
- create_component(commonstringtohtml.$$.fragment);
4289
- t2 = space();
4290
- div = element("div");
4291
- attr(div, "class", "divider my-6");
5170
+ for (let i = 0; i < each_blocks.length; i += 1) {
5171
+ each_blocks[i].c();
5172
+ }
5173
+ each_1_anchor = empty();
4292
5174
  },
4293
5175
  m(target, anchor) {
4294
- mount_component(commonstringtohtml, target, anchor);
4295
- insert(target, t2, anchor);
4296
- insert(target, div, anchor);
5176
+ for (let i = 0; i < each_blocks.length; i += 1) {
5177
+ if (each_blocks[i]) {
5178
+ each_blocks[i].m(target, anchor);
5179
+ }
5180
+ }
5181
+ insert(target, each_1_anchor, anchor);
4297
5182
  current = true;
4298
5183
  },
4299
5184
  p(ctx2, dirty) {
4300
- const commonstringtohtml_changes = {};
4301
- if (dirty[0] & /*inlinePromptString*/
4302
- 128)
4303
- commonstringtohtml_changes.htmlString = /*inlinePromptString*/
4304
- ctx2[7];
4305
- commonstringtohtml.$set(commonstringtohtml_changes);
5185
+ if (dirty[0] & /*inlineIteration, inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, correctAnswerData*/
5186
+ 188552) {
5187
+ each_value = ensure_array_like(
5188
+ /*correctAnswerData*/
5189
+ ctx2[14]
5190
+ );
5191
+ let i;
5192
+ for (i = 0; i < each_value.length; i += 1) {
5193
+ const child_ctx = get_each_context2(ctx2, each_value, i);
5194
+ if (each_blocks[i]) {
5195
+ each_blocks[i].p(child_ctx, dirty);
5196
+ transition_in(each_blocks[i], 1);
5197
+ } else {
5198
+ each_blocks[i] = create_each_block2(child_ctx);
5199
+ each_blocks[i].c();
5200
+ transition_in(each_blocks[i], 1);
5201
+ each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor);
5202
+ }
5203
+ }
5204
+ group_outros();
5205
+ for (i = each_value.length; i < each_blocks.length; i += 1) {
5206
+ out(i);
5207
+ }
5208
+ check_outros();
5209
+ }
4306
5210
  },
4307
5211
  i(local) {
4308
5212
  if (current)
4309
5213
  return;
4310
- transition_in(commonstringtohtml.$$.fragment, local);
5214
+ for (let i = 0; i < each_value.length; i += 1) {
5215
+ transition_in(each_blocks[i]);
5216
+ }
4311
5217
  current = true;
4312
5218
  },
4313
5219
  o(local) {
4314
- transition_out(commonstringtohtml.$$.fragment, local);
5220
+ each_blocks = each_blocks.filter(Boolean);
5221
+ for (let i = 0; i < each_blocks.length; i += 1) {
5222
+ transition_out(each_blocks[i]);
5223
+ }
4315
5224
  current = false;
4316
5225
  },
4317
5226
  d(detaching) {
4318
5227
  if (detaching) {
4319
- detach(t2);
4320
- detach(div);
5228
+ detach(each_1_anchor);
4321
5229
  }
4322
- destroy_component(commonstringtohtml, detaching);
5230
+ destroy_each(each_blocks, detaching);
4323
5231
  }
4324
5232
  };
4325
5233
  }
4326
- function create_if_block6(ctx) {
4327
- let div;
5234
+ function create_if_block_25(ctx) {
5235
+ let span1;
4328
5236
  let span0;
4329
5237
  let current_block_type_index;
4330
5238
  let if_block;
4331
5239
  let span0_class_value;
4332
- let t0;
4333
- let span1;
4334
- let t1;
4335
- let div_class_value;
4336
- let t2;
4337
- let promptresult;
4338
5240
  let current;
4339
- const if_block_creators = [create_if_block_15, create_else_block2];
5241
+ const if_block_creators = [create_if_block_33, create_else_block2];
4340
5242
  const if_blocks = [];
4341
- function select_block_type_2(ctx2, dirty) {
5243
+ function select_block_type_4(ctx2, dirty) {
4342
5244
  if (
4343
- /*isResultCorrect*/
4344
- ctx2[2]
5245
+ /*inlineAnswerResult*/
5246
+ ctx2[13][
5247
+ /*itemIndex*/
5248
+ ctx2[60]
5249
+ ]
4345
5250
  )
4346
5251
  return 0;
4347
5252
  return 1;
4348
5253
  }
4349
- current_block_type_index = select_block_type_2(ctx, [-1, -1]);
5254
+ current_block_type_index = select_block_type_4(ctx, [-1, -1, -1]);
4350
5255
  if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4351
- promptresult = new PromptResultFeedback_default({
4352
- props: {
4353
- isResultCorrect: (
4354
- /*isResultCorrect*/
4355
- ctx[2]
4356
- ),
4357
- resultFeedback: (
4358
- /*resultFeedback*/
4359
- ctx[4]
4360
- )
4361
- }
4362
- });
4363
5256
  return {
4364
5257
  c() {
4365
- div = element("div");
5258
+ span1 = element("span");
4366
5259
  span0 = element("span");
4367
5260
  if_block.c();
4368
- t0 = space();
4369
- span1 = element("span");
4370
- t1 = text(
4371
- /*resultLabel*/
4372
- ctx[6]
4373
- );
4374
- t2 = space();
4375
- create_component(promptresult.$$.fragment);
4376
- attr(span0, "class", span0_class_value = /*isResultCorrect*/
4377
- (ctx[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5");
4378
- attr(span1, "class", "p2");
4379
- attr(div, "aria-hidden", "true");
4380
- attr(div, "class", div_class_value = "flex items-center text-charcoal " + /*typeinType*/
4381
- (ctx[13] === TYPEIN_TYPE_SHORT ? "mt-2" : "mt-0.5"));
5261
+ attr(span0, "class", span0_class_value = /*inlineAnswerResult*/
5262
+ (ctx[13][
5263
+ /*itemIndex*/
5264
+ ctx[60]
5265
+ ] ? "text-green-900" : "text-red-900") + " p-0.5");
5266
+ attr(span1, "class", "w-6 h-6 absolute right-4 top-3 bottom-0 my-auto flex item-center justify-center");
4382
5267
  },
4383
5268
  m(target, anchor) {
4384
- insert(target, div, anchor);
4385
- append(div, span0);
5269
+ insert(target, span1, anchor);
5270
+ append(span1, span0);
4386
5271
  if_blocks[current_block_type_index].m(span0, null);
4387
- append(div, t0);
4388
- append(div, span1);
4389
- append(span1, t1);
4390
- insert(target, t2, anchor);
4391
- mount_component(promptresult, target, anchor);
4392
5272
  current = true;
4393
5273
  },
4394
5274
  p(ctx2, dirty) {
4395
5275
  let previous_block_index = current_block_type_index;
4396
- current_block_type_index = select_block_type_2(ctx2, dirty);
5276
+ current_block_type_index = select_block_type_4(ctx2, dirty);
4397
5277
  if (current_block_type_index !== previous_block_index) {
4398
5278
  group_outros();
4399
5279
  transition_out(if_blocks[previous_block_index], 1, 1, () => {
@@ -4409,48 +5289,30 @@
4409
5289
  transition_in(if_block, 1);
4410
5290
  if_block.m(span0, null);
4411
5291
  }
4412
- if (!current || dirty[0] & /*isResultCorrect*/
4413
- 4 && span0_class_value !== (span0_class_value = /*isResultCorrect*/
4414
- (ctx2[2] ? "text-green-800" : "text-red-800") + " mr-2 p-0.5")) {
5292
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5293
+ 8192 && span0_class_value !== (span0_class_value = /*inlineAnswerResult*/
5294
+ (ctx2[13][
5295
+ /*itemIndex*/
5296
+ ctx2[60]
5297
+ ] ? "text-green-900" : "text-red-900") + " p-0.5")) {
4415
5298
  attr(span0, "class", span0_class_value);
4416
5299
  }
4417
- if (!current || dirty[0] & /*resultLabel*/
4418
- 64)
4419
- set_data(
4420
- t1,
4421
- /*resultLabel*/
4422
- ctx2[6]
4423
- );
4424
- const promptresult_changes = {};
4425
- if (dirty[0] & /*isResultCorrect*/
4426
- 4)
4427
- promptresult_changes.isResultCorrect = /*isResultCorrect*/
4428
- ctx2[2];
4429
- if (dirty[0] & /*resultFeedback*/
4430
- 16)
4431
- promptresult_changes.resultFeedback = /*resultFeedback*/
4432
- ctx2[4];
4433
- promptresult.$set(promptresult_changes);
4434
5300
  },
4435
5301
  i(local) {
4436
5302
  if (current)
4437
5303
  return;
4438
5304
  transition_in(if_block);
4439
- transition_in(promptresult.$$.fragment, local);
4440
5305
  current = true;
4441
5306
  },
4442
5307
  o(local) {
4443
5308
  transition_out(if_block);
4444
- transition_out(promptresult.$$.fragment, local);
4445
5309
  current = false;
4446
5310
  },
4447
5311
  d(detaching) {
4448
5312
  if (detaching) {
4449
- detach(div);
4450
- detach(t2);
5313
+ detach(span1);
4451
5314
  }
4452
5315
  if_blocks[current_block_type_index].d();
4453
- destroy_component(promptresult, detaching);
4454
5316
  }
4455
5317
  };
4456
5318
  }
@@ -4481,7 +5343,7 @@
4481
5343
  }
4482
5344
  };
4483
5345
  }
4484
- function create_if_block_15(ctx) {
5346
+ function create_if_block_33(ctx) {
4485
5347
  let successsolid;
4486
5348
  let current;
4487
5349
  successsolid = new SuccessSolid_default({});
@@ -4496,15 +5358,475 @@
4496
5358
  i(local) {
4497
5359
  if (current)
4498
5360
  return;
4499
- transition_in(successsolid.$$.fragment, local);
5361
+ transition_in(successsolid.$$.fragment, local);
5362
+ current = true;
5363
+ },
5364
+ o(local) {
5365
+ transition_out(successsolid.$$.fragment, local);
5366
+ current = false;
5367
+ },
5368
+ d(detaching) {
5369
+ destroy_component(successsolid, detaching);
5370
+ }
5371
+ };
5372
+ }
5373
+ function create_each_block_1(ctx) {
5374
+ let div1;
5375
+ let p;
5376
+ let t0_value = useIsEven(
5377
+ /*iterationIndex*/
5378
+ ctx[63]
5379
+ ) ? `Student's` : "Correct";
5380
+ let t0;
5381
+ let t1;
5382
+ let p_class_value;
5383
+ let t2;
5384
+ let div0;
5385
+ let label;
5386
+ let span0;
5387
+ let t3;
5388
+ let span1;
5389
+ let label_for_value;
5390
+ let label_class_value;
5391
+ let t5;
5392
+ let textarea;
5393
+ let textarea_aria_label_value;
5394
+ let textarea_class_value;
5395
+ let textarea_id_value;
5396
+ let textarea_value_value;
5397
+ let textarea_tabindex_value;
5398
+ let autosize_action;
5399
+ let t6;
5400
+ let show_if = useIsEven(
5401
+ /*iterationIndex*/
5402
+ ctx[63]
5403
+ );
5404
+ let div0_class_value;
5405
+ let div1_class_value;
5406
+ let current;
5407
+ let mounted;
5408
+ let dispose;
5409
+ let if_block = show_if && create_if_block_25(ctx);
5410
+ return {
5411
+ c() {
5412
+ div1 = element("div");
5413
+ p = element("p");
5414
+ t0 = text(t0_value);
5415
+ t1 = text(" answers:");
5416
+ t2 = space();
5417
+ div0 = element("div");
5418
+ label = element("label");
5419
+ span0 = element("span");
5420
+ t3 = space();
5421
+ span1 = element("span");
5422
+ span1.textContent = `${/*itemIndex*/
5423
+ ctx[60] + 1}`;
5424
+ t5 = space();
5425
+ textarea = element("textarea");
5426
+ t6 = space();
5427
+ if (if_block)
5428
+ if_block.c();
5429
+ attr(p, "class", p_class_value = "text-base text-charcoal font-semibold " + (useIsEven(
5430
+ /*iterationIndex*/
5431
+ ctx[63]
5432
+ ) && /*itemIndex*/
5433
+ ctx[60] !== 0 ? "hidden" : !useIsEven(
5434
+ /*iterationIndex*/
5435
+ ctx[63]
5436
+ ) && /*itemIndex*/
5437
+ ctx[60] !== 0 ? "mt-2 md:mt-0 md:hidden" : !useIsEven(
5438
+ /*iterationIndex*/
5439
+ ctx[63]
5440
+ ) && /*itemIndex*/
5441
+ ctx[60] === 0 ? "mt-2 md:mt-0" : (
5442
+ /*itemIndex*/
5443
+ ctx[60] === 0 ? "" : ""
5444
+ )) + " " + (!useIsEven(
5445
+ /*iterationIndex*/
5446
+ ctx[63]
5447
+ ) && /*inlineAnswerResult*/
5448
+ ctx[13][
5449
+ /*itemIndex*/
5450
+ ctx[60]
5451
+ ] ? "hidden md:block" : ""));
5452
+ attr(span0, "class", "absolute inset-0 bottom-[7px] bg-black opacity-5 rounded-l-lg w-8.5 top-1");
5453
+ attr(span1, "class", "absolute font-semibold text-base leading-[19px] text-charcoal px-3 inline-block top-1/2 -translate-y-1/2 -mt-0.5");
5454
+ attr(label, "for", label_for_value = `${/*iterationIndex*/
5455
+ ctx[63]}-${/*sessionId*/
5456
+ ctx[3]}-${/*itemIndex*/
5457
+ ctx[60]}`);
5458
+ attr(label, "class", label_class_value = "absolute left-0 top-[13px] bottom-0 " + /*correctAnswerDataLength*/
5459
+ (ctx[15] > 1 && !useIsEven(
5460
+ /*iterationIndex*/
5461
+ ctx[63]
5462
+ ) ? "hidden md:inline-block" : (
5463
+ /*correctAnswerDataLength*/
5464
+ ctx[15] > 1 && useIsEven(
5465
+ /*iterationIndex*/
5466
+ ctx[63]
5467
+ ) ? "" : "hidden"
5468
+ )));
5469
+ attr(label, "aria-hidden", "true");
5470
+ attr(textarea, "aria-label", textarea_aria_label_value = `${useIsEven(
5471
+ /*iterationIndex*/
5472
+ ctx[63]
5473
+ ) ? `Student's` : "Correct"} answer${useIsEven(
5474
+ /*iterationIndex*/
5475
+ ctx[63]
5476
+ ) && /*inlineAnswerResult*/
5477
+ ctx[13][
5478
+ /*itemIndex*/
5479
+ ctx[60]
5480
+ ] ? " (Correct)" : useIsEven(
5481
+ /*iterationIndex*/
5482
+ ctx[63]
5483
+ ) && !/*inlineAnswerResult*/
5484
+ ctx[13][
5485
+ /*itemIndex*/
5486
+ ctx[60]
5487
+ ] ? " (Incorrect)" : ""}, Item number ${/*itemIndex*/
5488
+ ctx[60] + 1}:`);
5489
+ attr(textarea, "class", textarea_class_value = "typein-textbox py-[9px] pr-4 mt-4 " + /*correctAnswerDataLength*/
5490
+ (ctx[15] > 1 && !useIsEven(
5491
+ /*iterationIndex*/
5492
+ ctx[63]
5493
+ ) ? "md:pl-13.2" : (
5494
+ /*correctAnswerDataLength*/
5495
+ ctx[15] > 1 && useIsEven(
5496
+ /*iterationIndex*/
5497
+ ctx[63]
5498
+ ) ? "pl-13.2" : ""
5499
+ )) + " " + (useIsEven(
5500
+ /*iterationIndex*/
5501
+ ctx[63]
5502
+ ) ? "!pr-11" : "") + " " + (useIsEven(
5503
+ /*iterationIndex*/
5504
+ ctx[63]
5505
+ ) && /*inlineAnswerResult*/
5506
+ ctx[13][
5507
+ /*itemIndex*/
5508
+ ctx[60]
5509
+ ] ? "border-2 border-green-900" : useIsEven(
5510
+ /*iterationIndex*/
5511
+ ctx[63]
5512
+ ) && !/*inlineAnswerResult*/
5513
+ ctx[13][
5514
+ /*itemIndex*/
5515
+ ctx[60]
5516
+ ] ? "border-2 border-red-900 bg-red-50" : ""));
5517
+ attr(textarea, "id", textarea_id_value = `${/*iterationIndex*/
5518
+ ctx[63]}-${/*sessionId*/
5519
+ ctx[3]}-${/*itemIndex*/
5520
+ ctx[60]}`);
5521
+ textarea.value = textarea_value_value = useIsEven(
5522
+ /*iterationIndex*/
5523
+ ctx[63]
5524
+ ) ? (
5525
+ /*inlineTypeinAnswer*/
5526
+ ctx[7][
5527
+ /*itemIndex*/
5528
+ ctx[60]
5529
+ ] || "No answer provided"
5530
+ ) : (
5531
+ /*item*/
5532
+ ctx[58][0]
5533
+ );
5534
+ attr(textarea, "rows", "1");
5535
+ textarea.readOnly = true;
5536
+ attr(textarea, "tabindex", textarea_tabindex_value = !useIsEven(
5537
+ /*iterationIndex*/
5538
+ ctx[63]
5539
+ ) && /*inlineAnswerResult*/
5540
+ ctx[13][
5541
+ /*itemIndex*/
5542
+ ctx[60]
5543
+ ] ? "-1" : "");
5544
+ attr(div0, "class", div0_class_value = "h-fit relative " + (!useIsEven(
5545
+ /*iterationIndex*/
5546
+ ctx[63]
5547
+ ) && /*inlineAnswerResult*/
5548
+ ctx[13][
5549
+ /*itemIndex*/
5550
+ ctx[60]
5551
+ ] ? "hidden md:block" : ""));
5552
+ attr(div1, "class", div1_class_value = "flex flex-col md:w-1/2 " + (useIsEven(
5553
+ /*iterationIndex*/
5554
+ ctx[63]
5555
+ ) ? "md:pr-4" : "ml-8.5 md:ml-0 md:pl-4"));
5556
+ },
5557
+ m(target, anchor) {
5558
+ insert(target, div1, anchor);
5559
+ append(div1, p);
5560
+ append(p, t0);
5561
+ append(p, t1);
5562
+ append(div1, t2);
5563
+ append(div1, div0);
5564
+ append(div0, label);
5565
+ append(label, span0);
5566
+ append(label, t3);
5567
+ append(label, span1);
5568
+ append(div0, t5);
5569
+ append(div0, textarea);
5570
+ append(div0, t6);
5571
+ if (if_block)
5572
+ if_block.m(div0, null);
5573
+ current = true;
5574
+ if (!mounted) {
5575
+ dispose = action_destroyer(autosize_action = svelte_autosize_default.call(null, textarea));
5576
+ mounted = true;
5577
+ }
5578
+ },
5579
+ p(ctx2, dirty) {
5580
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5581
+ 8192 && p_class_value !== (p_class_value = "text-base text-charcoal font-semibold " + (useIsEven(
5582
+ /*iterationIndex*/
5583
+ ctx2[63]
5584
+ ) && /*itemIndex*/
5585
+ ctx2[60] !== 0 ? "hidden" : !useIsEven(
5586
+ /*iterationIndex*/
5587
+ ctx2[63]
5588
+ ) && /*itemIndex*/
5589
+ ctx2[60] !== 0 ? "mt-2 md:mt-0 md:hidden" : !useIsEven(
5590
+ /*iterationIndex*/
5591
+ ctx2[63]
5592
+ ) && /*itemIndex*/
5593
+ ctx2[60] === 0 ? "mt-2 md:mt-0" : (
5594
+ /*itemIndex*/
5595
+ ctx2[60] === 0 ? "" : ""
5596
+ )) + " " + (!useIsEven(
5597
+ /*iterationIndex*/
5598
+ ctx2[63]
5599
+ ) && /*inlineAnswerResult*/
5600
+ ctx2[13][
5601
+ /*itemIndex*/
5602
+ ctx2[60]
5603
+ ] ? "hidden md:block" : ""))) {
5604
+ attr(p, "class", p_class_value);
5605
+ }
5606
+ if (!current || dirty[0] & /*sessionId*/
5607
+ 8 && label_for_value !== (label_for_value = `${/*iterationIndex*/
5608
+ ctx2[63]}-${/*sessionId*/
5609
+ ctx2[3]}-${/*itemIndex*/
5610
+ ctx2[60]}`)) {
5611
+ attr(label, "for", label_for_value);
5612
+ }
5613
+ if (!current || dirty[0] & /*correctAnswerDataLength*/
5614
+ 32768 && label_class_value !== (label_class_value = "absolute left-0 top-[13px] bottom-0 " + /*correctAnswerDataLength*/
5615
+ (ctx2[15] > 1 && !useIsEven(
5616
+ /*iterationIndex*/
5617
+ ctx2[63]
5618
+ ) ? "hidden md:inline-block" : (
5619
+ /*correctAnswerDataLength*/
5620
+ ctx2[15] > 1 && useIsEven(
5621
+ /*iterationIndex*/
5622
+ ctx2[63]
5623
+ ) ? "" : "hidden"
5624
+ )))) {
5625
+ attr(label, "class", label_class_value);
5626
+ }
5627
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5628
+ 8192 && textarea_aria_label_value !== (textarea_aria_label_value = `${useIsEven(
5629
+ /*iterationIndex*/
5630
+ ctx2[63]
5631
+ ) ? `Student's` : "Correct"} answer${useIsEven(
5632
+ /*iterationIndex*/
5633
+ ctx2[63]
5634
+ ) && /*inlineAnswerResult*/
5635
+ ctx2[13][
5636
+ /*itemIndex*/
5637
+ ctx2[60]
5638
+ ] ? " (Correct)" : useIsEven(
5639
+ /*iterationIndex*/
5640
+ ctx2[63]
5641
+ ) && !/*inlineAnswerResult*/
5642
+ ctx2[13][
5643
+ /*itemIndex*/
5644
+ ctx2[60]
5645
+ ] ? " (Incorrect)" : ""}, Item number ${/*itemIndex*/
5646
+ ctx2[60] + 1}:`)) {
5647
+ attr(textarea, "aria-label", textarea_aria_label_value);
5648
+ }
5649
+ if (!current || dirty[0] & /*correctAnswerDataLength, inlineAnswerResult*/
5650
+ 40960 && textarea_class_value !== (textarea_class_value = "typein-textbox py-[9px] pr-4 mt-4 " + /*correctAnswerDataLength*/
5651
+ (ctx2[15] > 1 && !useIsEven(
5652
+ /*iterationIndex*/
5653
+ ctx2[63]
5654
+ ) ? "md:pl-13.2" : (
5655
+ /*correctAnswerDataLength*/
5656
+ ctx2[15] > 1 && useIsEven(
5657
+ /*iterationIndex*/
5658
+ ctx2[63]
5659
+ ) ? "pl-13.2" : ""
5660
+ )) + " " + (useIsEven(
5661
+ /*iterationIndex*/
5662
+ ctx2[63]
5663
+ ) ? "!pr-11" : "") + " " + (useIsEven(
5664
+ /*iterationIndex*/
5665
+ ctx2[63]
5666
+ ) && /*inlineAnswerResult*/
5667
+ ctx2[13][
5668
+ /*itemIndex*/
5669
+ ctx2[60]
5670
+ ] ? "border-2 border-green-900" : useIsEven(
5671
+ /*iterationIndex*/
5672
+ ctx2[63]
5673
+ ) && !/*inlineAnswerResult*/
5674
+ ctx2[13][
5675
+ /*itemIndex*/
5676
+ ctx2[60]
5677
+ ] ? "border-2 border-red-900 bg-red-50" : ""))) {
5678
+ attr(textarea, "class", textarea_class_value);
5679
+ }
5680
+ if (!current || dirty[0] & /*sessionId*/
5681
+ 8 && textarea_id_value !== (textarea_id_value = `${/*iterationIndex*/
5682
+ ctx2[63]}-${/*sessionId*/
5683
+ ctx2[3]}-${/*itemIndex*/
5684
+ ctx2[60]}`)) {
5685
+ attr(textarea, "id", textarea_id_value);
5686
+ }
5687
+ if (!current || dirty[0] & /*inlineTypeinAnswer, correctAnswerData*/
5688
+ 16512 && textarea_value_value !== (textarea_value_value = useIsEven(
5689
+ /*iterationIndex*/
5690
+ ctx2[63]
5691
+ ) ? (
5692
+ /*inlineTypeinAnswer*/
5693
+ ctx2[7][
5694
+ /*itemIndex*/
5695
+ ctx2[60]
5696
+ ] || "No answer provided"
5697
+ ) : (
5698
+ /*item*/
5699
+ ctx2[58][0]
5700
+ ))) {
5701
+ textarea.value = textarea_value_value;
5702
+ }
5703
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5704
+ 8192 && textarea_tabindex_value !== (textarea_tabindex_value = !useIsEven(
5705
+ /*iterationIndex*/
5706
+ ctx2[63]
5707
+ ) && /*inlineAnswerResult*/
5708
+ ctx2[13][
5709
+ /*itemIndex*/
5710
+ ctx2[60]
5711
+ ] ? "-1" : "")) {
5712
+ attr(textarea, "tabindex", textarea_tabindex_value);
5713
+ }
5714
+ if (show_if)
5715
+ if_block.p(ctx2, dirty);
5716
+ if (!current || dirty[0] & /*inlineAnswerResult*/
5717
+ 8192 && div0_class_value !== (div0_class_value = "h-fit relative " + (!useIsEven(
5718
+ /*iterationIndex*/
5719
+ ctx2[63]
5720
+ ) && /*inlineAnswerResult*/
5721
+ ctx2[13][
5722
+ /*itemIndex*/
5723
+ ctx2[60]
5724
+ ] ? "hidden md:block" : ""))) {
5725
+ attr(div0, "class", div0_class_value);
5726
+ }
5727
+ },
5728
+ i(local) {
5729
+ if (current)
5730
+ return;
5731
+ transition_in(if_block);
5732
+ current = true;
5733
+ },
5734
+ o(local) {
5735
+ transition_out(if_block);
5736
+ current = false;
5737
+ },
5738
+ d(detaching) {
5739
+ if (detaching) {
5740
+ detach(div1);
5741
+ }
5742
+ if (if_block)
5743
+ if_block.d();
5744
+ mounted = false;
5745
+ dispose();
5746
+ }
5747
+ };
5748
+ }
5749
+ function create_each_block2(ctx) {
5750
+ let div;
5751
+ let t2;
5752
+ let current;
5753
+ let each_value_1 = ensure_array_like(
5754
+ /*inlineIteration*/
5755
+ ctx[17]
5756
+ );
5757
+ let each_blocks = [];
5758
+ for (let i = 0; i < each_value_1.length; i += 1) {
5759
+ each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i));
5760
+ }
5761
+ const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
5762
+ each_blocks[i] = null;
5763
+ });
5764
+ return {
5765
+ c() {
5766
+ div = element("div");
5767
+ for (let i = 0; i < each_blocks.length; i += 1) {
5768
+ each_blocks[i].c();
5769
+ }
5770
+ t2 = space();
5771
+ attr(div, "class", "flex flex-col md:flex-row");
5772
+ },
5773
+ m(target, anchor) {
5774
+ insert(target, div, anchor);
5775
+ for (let i = 0; i < each_blocks.length; i += 1) {
5776
+ if (each_blocks[i]) {
5777
+ each_blocks[i].m(div, null);
5778
+ }
5779
+ }
5780
+ append(div, t2);
5781
+ current = true;
5782
+ },
5783
+ p(ctx2, dirty) {
5784
+ if (dirty[0] & /*inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, correctAnswerData*/
5785
+ 57480) {
5786
+ each_value_1 = ensure_array_like(
5787
+ /*inlineIteration*/
5788
+ ctx2[17]
5789
+ );
5790
+ let i;
5791
+ for (i = 0; i < each_value_1.length; i += 1) {
5792
+ const child_ctx = get_each_context_1(ctx2, each_value_1, i);
5793
+ if (each_blocks[i]) {
5794
+ each_blocks[i].p(child_ctx, dirty);
5795
+ transition_in(each_blocks[i], 1);
5796
+ } else {
5797
+ each_blocks[i] = create_each_block_1(child_ctx);
5798
+ each_blocks[i].c();
5799
+ transition_in(each_blocks[i], 1);
5800
+ each_blocks[i].m(div, t2);
5801
+ }
5802
+ }
5803
+ group_outros();
5804
+ for (i = each_value_1.length; i < each_blocks.length; i += 1) {
5805
+ out(i);
5806
+ }
5807
+ check_outros();
5808
+ }
5809
+ },
5810
+ i(local) {
5811
+ if (current)
5812
+ return;
5813
+ for (let i = 0; i < each_value_1.length; i += 1) {
5814
+ transition_in(each_blocks[i]);
5815
+ }
4500
5816
  current = true;
4501
5817
  },
4502
5818
  o(local) {
4503
- transition_out(successsolid.$$.fragment, local);
5819
+ each_blocks = each_blocks.filter(Boolean);
5820
+ for (let i = 0; i < each_blocks.length; i += 1) {
5821
+ transition_out(each_blocks[i]);
5822
+ }
4504
5823
  current = false;
4505
5824
  },
4506
5825
  d(detaching) {
4507
- destroy_component(successsolid, detaching);
5826
+ if (detaching) {
5827
+ detach(div);
5828
+ }
5829
+ destroy_each(each_blocks, detaching);
4508
5830
  }
4509
5831
  };
4510
5832
  }
@@ -4514,26 +5836,26 @@
4514
5836
  let t2;
4515
5837
  let if_block1_anchor;
4516
5838
  let current;
4517
- const if_block_creators = [create_if_block_24, create_if_block_43, create_else_block_2];
5839
+ const if_block_creators = [create_if_block_72, create_if_block_92, create_else_block_4];
4518
5840
  const if_blocks = [];
4519
5841
  function select_block_type(ctx2, dirty) {
4520
5842
  if (
4521
- /*typeinType*/
4522
- ctx2[13] === TYPEIN_TYPE_INLINE
5843
+ /*isInlineTypein*/
5844
+ ctx2[22]
4523
5845
  )
4524
5846
  return 0;
4525
5847
  if (
4526
5848
  /*typeinType*/
4527
- ctx2[13] === TYPEIN_TYPE_SHORT
5849
+ ctx2[21] === TYPEIN_TYPE_SHORT
4528
5850
  )
4529
5851
  return 1;
4530
5852
  return 2;
4531
5853
  }
4532
- current_block_type_index = select_block_type(ctx, [-1, -1]);
5854
+ current_block_type_index = select_block_type(ctx, [-1, -1, -1]);
4533
5855
  if_block0 = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
4534
5856
  let if_block1 = (
4535
5857
  /*isFinished*/
4536
- ctx[1] && create_if_block6(ctx)
5858
+ ctx[0] && create_if_block7(ctx)
4537
5859
  );
4538
5860
  return {
4539
5861
  c() {
@@ -4555,16 +5877,16 @@
4555
5877
  if_block0.p(ctx2, dirty);
4556
5878
  if (
4557
5879
  /*isFinished*/
4558
- ctx2[1]
5880
+ ctx2[0]
4559
5881
  ) {
4560
5882
  if (if_block1) {
4561
5883
  if_block1.p(ctx2, dirty);
4562
5884
  if (dirty[0] & /*isFinished*/
4563
- 2) {
5885
+ 1) {
4564
5886
  transition_in(if_block1, 1);
4565
5887
  }
4566
5888
  } else {
4567
- if_block1 = create_if_block6(ctx2);
5889
+ if_block1 = create_if_block7(ctx2);
4568
5890
  if_block1.c();
4569
5891
  transition_in(if_block1, 1);
4570
5892
  if_block1.m(if_block1_anchor.parentNode, if_block1_anchor);
@@ -4600,27 +5922,27 @@
4600
5922
  }
4601
5923
  };
4602
5924
  }
4603
- function create_fragment9(ctx) {
5925
+ function create_fragment11(ctx) {
4604
5926
  let promptbody;
4605
5927
  let current;
4606
5928
  promptbody = new PromptBody_default({
4607
5929
  props: {
4608
5930
  rubric: (
4609
5931
  /*rubric*/
4610
- ctx[10].text
5932
+ ctx[18].text
4611
5933
  ),
4612
5934
  prompt: (
4613
5935
  /*prompt*/
4614
- ctx[12]
5936
+ ctx[20]
4615
5937
  ),
4616
5938
  interactionType: INTERACTION_TYPE_TYPEIN,
4617
5939
  stimulus: (
4618
5940
  /*stimulus*/
4619
- ctx[11]
5941
+ ctx[19]
4620
5942
  ),
4621
5943
  hasDivider: (
4622
5944
  /*hasDivider*/
4623
- ctx[8]
5945
+ ctx[12]
4624
5946
  ),
4625
5947
  $$slots: { default: [create_default_slot2] },
4626
5948
  $$scope: { ctx }
@@ -4637,12 +5959,12 @@
4637
5959
  p(ctx2, dirty) {
4638
5960
  const promptbody_changes = {};
4639
5961
  if (dirty[0] & /*hasDivider*/
4640
- 256)
5962
+ 4096)
4641
5963
  promptbody_changes.hasDivider = /*hasDivider*/
4642
- ctx2[8];
4643
- if (dirty[0] & /*isResultCorrect, resultFeedback, resultLabel, isFinished, inlinePromptString, textAriaLabel, placeholder, isDataSaving, typeinAnswer*/
4644
- 767 | dirty[1] & /*$$scope*/
4645
- 256) {
5964
+ ctx2[12];
5965
+ if (dirty[0] & /*correctAnswerData, inlineAnswerResult, correctAnswerDataLength, sessionId, inlineTypeinAnswer, isResultCorrect, resultFeedback, isSkippedAnswer, resultLabel, isFinished, isDataSaving, root, inlinePromptString, textAriaLabel, placeholder, typeinAnswer*/
5966
+ 126975 | dirty[2] & /*$$scope*/
5967
+ 4) {
4646
5968
  promptbody_changes.$$scope = { dirty, ctx: ctx2 };
4647
5969
  }
4648
5970
  promptbody.$set(promptbody_changes);
@@ -4663,40 +5985,175 @@
4663
5985
  };
4664
5986
  }
4665
5987
  var idLabel = "answerText";
4666
- function instance7($$self, $$props, $$invalidate) {
5988
+ function instance8($$self, $$props, $$invalidate) {
4667
5989
  let { sessionData } = $$props;
4668
5990
  let { isDataSaving } = $$props;
4669
5991
  let { isFinished = false } = $$props;
4670
5992
  let { isResultCorrect = false } = $$props;
4671
5993
  let { isPreviewMode = false } = $$props;
4672
5994
  let { isPreviewModeInteractive = false } = $$props;
5995
+ let { isPreviewCheckedAnswer = false } = $$props;
5996
+ let { sessionId } = $$props;
4673
5997
  const dispatch = createEventDispatcher();
5998
+ let root;
5999
+ let inlineInputs;
4674
6000
  let typeinAnswer;
4675
6001
  let latestAnswer = "";
4676
6002
  let resultFeedback = "";
6003
+ let inlineTypeinAnswer = [];
6004
+ let isSkippedAnswer = false;
6005
+ let isInitialLoad = true;
6006
+ let isInteractiveTriggeredResult = false;
4677
6007
  let placeholder = "Type your answer here";
4678
6008
  let focusOrigin = "tab";
4679
6009
  let resultLabel = "";
4680
6010
  let inlinePromptString = "";
4681
6011
  let hasDivider = true;
6012
+ let inlineAnswerResult = [];
6013
+ let correctAnswerData = [];
6014
+ let correctAnswerDataLength = 0;
6015
+ const inlineIteration = ["student", "correct"];
4682
6016
  const { rubric, interaction, metadata, scoringMetadata, stimulus } = sessionData;
4683
6017
  const { prompt, typein_type: typeinType } = interaction;
6018
+ const isInlineTypein = typeinType === TYPEIN_TYPE_INLINE;
4684
6019
  if (metadata) {
4685
6020
  const events = metadata.interactions.events.pop();
4686
- latestAnswer = typeinAnswer = events.answer[0];
6021
+ if (isInlineTypein) {
6022
+ inlineTypeinAnswer = events?.answer;
6023
+ if (inlineTypeinAnswer.length) {
6024
+ isInitialLoad = false;
6025
+ }
6026
+ } else {
6027
+ latestAnswer = typeinAnswer = events.answer[0];
6028
+ }
6029
+ }
6030
+ let textAriaLabel = !latestAnswer ? "Answer input: Please type your response" : "Your response is";
6031
+ const isReadonlyText = isFinished && !isPreviewModeInteractive;
6032
+ const addEventListenerInline = () => {
6033
+ if (isInlineTypein && (!isFinished || isPreviewModeInteractive)) {
6034
+ inlineInputs = root.querySelectorAll('input[type="text"]');
6035
+ inlineInputs.forEach((input) => {
6036
+ const focusHandler = () => saveInlineAnswer(input.id);
6037
+ const keyDownHandler = (event) => {
6038
+ if (event.key === "Enter") {
6039
+ event.preventDefault();
6040
+ saveInlineAnswer(input.id);
6041
+ }
6042
+ };
6043
+ input.removeEventListener("focusout", focusHandler);
6044
+ input.removeEventListener("keydown", keyDownHandler);
6045
+ input.addEventListener("focusout", focusHandler);
6046
+ input.addEventListener("keydown", keyDownHandler);
6047
+ });
6048
+ }
6049
+ };
6050
+ onMount(() => {
6051
+ addEventListenerInline();
6052
+ });
6053
+ const saveInlineAnswer = (id) => {
6054
+ const rawAnswer = useJoinArrayToString(inlineTypeinAnswer);
6055
+ const input = root.querySelector(`#${id}`);
6056
+ const arrayId = id.split("-")[2] - 1;
6057
+ $$invalidate(7, inlineTypeinAnswer[arrayId] = input.value, inlineTypeinAnswer);
6058
+ const latestAnswer2 = useJoinArrayToString(inlineTypeinAnswer);
6059
+ if (latestAnswer2 === rawAnswer || isDataSaving)
6060
+ return;
6061
+ const allEmpty = inlineTypeinAnswer.every((value) => value === "");
6062
+ if (isPreviewModeInteractive) {
6063
+ const allAnswered = inlineTypeinAnswer.every((value) => value !== "");
6064
+ $$invalidate(8, isSkippedAnswer = false);
6065
+ if (isInteractiveTriggeredResult && allEmpty) {
6066
+ $$invalidate(8, isSkippedAnswer = true);
6067
+ }
6068
+ if (allAnswered || isInteractiveTriggeredResult) {
6069
+ $$invalidate(1, isResultCorrect = false);
6070
+ const { is_single_mark: isSingleMark } = interaction;
6071
+ const { answer: previewCorrectAnswer } = scoringMetadata;
6072
+ $$invalidate(13, inlineAnswerResult = checkInlineAnswer(previewCorrectAnswer, inlineTypeinAnswer));
6073
+ $$invalidate(1, isResultCorrect = isSingleMark ? !inlineAnswerResult.includes(false) : inlineAnswerResult.includes(true));
6074
+ $$invalidate(0, isFinished = true);
6075
+ $$invalidate(14, correctAnswerData = previewCorrectAnswer);
6076
+ $$invalidate(15, correctAnswerDataLength = previewCorrectAnswer.length);
6077
+ getFeedback();
6078
+ buildInlinePrompt();
6079
+ setTimeout(
6080
+ () => {
6081
+ addEventListenerInline();
6082
+ isInteractiveTriggeredResult = true;
6083
+ },
6084
+ 250
6085
+ );
6086
+ }
6087
+ } else {
6088
+ dispatch("saveAnswer", {
6089
+ answer: allEmpty ? [] : inlineTypeinAnswer
6090
+ });
6091
+ }
6092
+ input?.blur();
6093
+ };
6094
+ const getFeedback = () => {
6095
+ const { correct: correctFeeback, incorrect: incorrectFeedback } = interaction.feedback;
6096
+ $$invalidate(6, resultFeedback = isResultCorrect ? correctFeeback : incorrectFeedback);
6097
+ };
6098
+ const getResultMessage = () => {
6099
+ $$invalidate(10, resultLabel = isResultCorrect ? "Correct" : "Incorrect");
6100
+ $$invalidate(16, textAriaLabel = `Submitted response is ${resultLabel.toLocaleLowerCase()}`);
6101
+ $$invalidate(9, placeholder = isResultCorrect ? placeholder : "No answer provided");
6102
+ };
6103
+ const checkInlineAnswer = (correctAnswer, answer) => {
6104
+ const transformedAnswerList = correctAnswer.map((item) => item.map((data) => data.toLowerCase()));
6105
+ return answer?.map((item, index) => {
6106
+ return transformedAnswerList[index].includes(item.toLowerCase());
6107
+ });
6108
+ };
6109
+ if (isFinished) {
6110
+ const { answer, hasAnswer } = scoringMetadata;
6111
+ isSkippedAnswer = !hasAnswer;
6112
+ if (isInlineTypein) {
6113
+ let metadataAnswer = answer;
6114
+ const { correct_answer: correctAnswer } = interaction;
6115
+ if (isPreviewMode) {
6116
+ inlineTypeinAnswer = answer.map((data) => data[0]);
6117
+ metadataAnswer = inlineTypeinAnswer;
6118
+ }
6119
+ correctAnswerData = correctAnswer;
6120
+ correctAnswerDataLength = correctAnswer.length;
6121
+ inlineAnswerResult = checkInlineAnswer(correctAnswer, metadataAnswer);
6122
+ } else {
6123
+ typeinAnswer = answer && hasAnswer ? answer : typeinAnswer;
6124
+ }
6125
+ getResultMessage();
6126
+ if (!isPreviewMode || isPreviewModeInteractive) {
6127
+ getFeedback();
6128
+ }
4687
6129
  }
4688
- if (typeinType === TYPEIN_TYPE_INLINE) {
4689
- hasDivider = false;
6130
+ const resetInteractivePreviewData = () => {
6131
+ $$invalidate(10, resultLabel = "");
6132
+ $$invalidate(16, textAriaLabel = "");
6133
+ $$invalidate(9, placeholder = "");
6134
+ getResultMessage();
6135
+ getFeedback();
6136
+ };
6137
+ const buildInlinePrompt = () => {
6138
+ $$invalidate(12, hasDivider = false);
4690
6139
  const { inline_prompt: inlinePrompt } = interaction;
4691
6140
  if (inlinePrompt) {
4692
6141
  let idCounter = 1;
4693
6142
  const eatRegex = /<eat-contentful>/g;
4694
6143
  const inputCount = inlinePrompt.match(eatRegex)?.length || 0;
4695
6144
  const isSingleInput = inputCount <= 1;
6145
+ const sessionString = sessionId ? sessionId.replace(/-/g, "") : "preview";
4696
6146
  const spacer = '<span class="inline-block w-2 h-4"></span>';
4697
- inlinePromptString = inlinePrompt.replace(eatRegex, () => {
6147
+ $$invalidate(11, inlinePromptString = inlinePrompt.replace(eatRegex, () => {
6148
+ if (isInitialLoad) {
6149
+ inlineTypeinAnswer.push("");
6150
+ }
4698
6151
  const idNo = idCounter++;
4699
- const inputId = `inline-text-${idNo}`;
6152
+ const indexNo = idNo - 1;
6153
+ const inputId = `inline-${sessionString}-${idNo}`;
6154
+ const textHasAnswer = !!inlineTypeinAnswer[indexNo];
6155
+ const isAnswerCorrect = isFinished && inlineAnswerResult[indexNo] && textHasAnswer;
6156
+ const isAnswerIncorrect = isFinished && !inlineAnswerResult[indexNo] && textHasAnswer;
4700
6157
  return `
4701
6158
  ${spacer}<span class="inline-block h-fit relative my-2">
4702
6159
  <label for="${inputId}" class="absolute left-0 top-0 bottom-0 ${isSingleInput ? "hidden" : ""}" aria-hidden="true">
@@ -4706,32 +6163,28 @@
4706
6163
  <input
4707
6164
  type="text"
4708
6165
  id="${inputId}"
4709
- placeholder="Type your answer here" aria-label="Item number ${idNo}"
4710
- class="typein-textbox w-60 py-[9px] pr-4 ${isSingleInput ? "" : "pl-13.2"}"
6166
+ placeholder="Type your answer here"
6167
+ aria-label="${!isFinished ? `Item number ${idNo}` : `Student's answer (${isAnswerCorrect ? "Correct" : "Incorrect"}), Item number ${idNo}:`}"
6168
+ class="typein-textbox w-60 py-[9px] pr-4 ${isSingleInput ? "" : "pl-13.2"}
6169
+ ${isAnswerCorrect ? "border-2 border-green-900" : isAnswerIncorrect ? "border-2 border-red-900 bg-red-50" : ""}
6170
+ ${isFinished && textHasAnswer ? "!pr-11 truncate" : ""}"
4711
6171
  autocomplete="off"
6172
+ value="${inlineTypeinAnswer[indexNo] || ""}"
6173
+ ${isFinished && !isPreviewModeInteractive ? "readonly" : ""}
4712
6174
  />
6175
+ ${isFinished && textHasAnswer ? `
6176
+ <span class="w-6 h-6 absolute right-4 top-3.5 flex item-center justify-center">
6177
+ <span class="${isAnswerCorrect ? "text-green-900" : "text-red-900"} p-0.5">
6178
+ ${isAnswerCorrect ? useCorrectIconString() : useErrorIconString()}
6179
+ </span>
6180
+ </span>` : ""}
4713
6181
  </span>${spacer}`;
4714
- });
6182
+ }));
6183
+ isInitialLoad = false;
4715
6184
  }
4716
- }
4717
- let textAriaLabel = !latestAnswer ? "Answer input: Please type your response" : "Your response is";
4718
- const isReadonlyText = isFinished && !isPreviewModeInteractive;
4719
- const getFeedback = () => {
4720
- const { correct: correctFeeback, incorrect: incorrectFeedback } = interaction.feedback;
4721
- $$invalidate(4, resultFeedback = isResultCorrect ? correctFeeback : incorrectFeedback);
4722
- };
4723
- const getResultMessage = () => {
4724
- $$invalidate(6, resultLabel = isResultCorrect ? "Correct" : "Incorrect");
4725
- $$invalidate(9, textAriaLabel = `Submitted response is ${resultLabel.toLocaleLowerCase()}`);
4726
- $$invalidate(5, placeholder = isResultCorrect ? placeholder : "No answer provided");
4727
6185
  };
4728
- if (isFinished) {
4729
- const { answer, hasAnswer } = scoringMetadata;
4730
- typeinAnswer = answer && hasAnswer ? answer : typeinAnswer;
4731
- getResultMessage();
4732
- if (!isPreviewMode || isPreviewModeInteractive) {
4733
- getFeedback();
4734
- }
6186
+ if (isInlineTypein) {
6187
+ buildInlinePrompt();
4735
6188
  }
4736
6189
  const saveAnswer = () => {
4737
6190
  focusOrigin = "tab";
@@ -4739,14 +6192,10 @@
4739
6192
  return;
4740
6193
  latestAnswer = typeinAnswer;
4741
6194
  dispatch("saveAnswer", { answer: [typeinAnswer || ""] });
4742
- if (isPreviewModeInteractive) {
6195
+ if (isPreviewModeInteractive && typeinType !== TYPEIN_TYPE_LONG) {
4743
6196
  setTimeout(
4744
6197
  () => {
4745
- $$invalidate(6, resultLabel = "");
4746
- $$invalidate(9, textAriaLabel = "");
4747
- $$invalidate(5, placeholder = "");
4748
- getResultMessage();
4749
- getFeedback();
6198
+ resetInteractivePreviewData();
4750
6199
  },
4751
6200
  50
4752
6201
  );
@@ -4768,15 +6217,21 @@
4768
6217
  const handleClick = () => {
4769
6218
  focusOrigin = "click";
4770
6219
  };
6220
+ function div0_binding($$value) {
6221
+ binding_callbacks[$$value ? "unshift" : "push"](() => {
6222
+ root = $$value;
6223
+ $$invalidate(4, root);
6224
+ });
6225
+ }
4771
6226
  function input_input_handler() {
4772
6227
  typeinAnswer = this.value;
4773
- $$invalidate(3, typeinAnswer);
6228
+ $$invalidate(5, typeinAnswer);
4774
6229
  }
4775
6230
  const focusout_handler = () => saveAnswer();
4776
6231
  const keydown_handler = (event) => saveOnEnter(event);
4777
6232
  function textarea_input_handler() {
4778
6233
  typeinAnswer = this.value;
4779
- $$invalidate(3, typeinAnswer);
6234
+ $$invalidate(5, typeinAnswer);
4780
6235
  }
4781
6236
  const mousedown_handler = () => handleClick();
4782
6237
  const touchstart_handler = () => handleClick();
@@ -4785,33 +6240,55 @@
4785
6240
  const keydown_handler_1 = (event) => saveOnEnter(event);
4786
6241
  $$self.$$set = ($$props2) => {
4787
6242
  if ("sessionData" in $$props2)
4788
- $$invalidate(19, sessionData = $$props2.sessionData);
6243
+ $$invalidate(28, sessionData = $$props2.sessionData);
4789
6244
  if ("isDataSaving" in $$props2)
4790
- $$invalidate(0, isDataSaving = $$props2.isDataSaving);
6245
+ $$invalidate(2, isDataSaving = $$props2.isDataSaving);
4791
6246
  if ("isFinished" in $$props2)
4792
- $$invalidate(1, isFinished = $$props2.isFinished);
6247
+ $$invalidate(0, isFinished = $$props2.isFinished);
4793
6248
  if ("isResultCorrect" in $$props2)
4794
- $$invalidate(2, isResultCorrect = $$props2.isResultCorrect);
6249
+ $$invalidate(1, isResultCorrect = $$props2.isResultCorrect);
4795
6250
  if ("isPreviewMode" in $$props2)
4796
- $$invalidate(20, isPreviewMode = $$props2.isPreviewMode);
6251
+ $$invalidate(29, isPreviewMode = $$props2.isPreviewMode);
4797
6252
  if ("isPreviewModeInteractive" in $$props2)
4798
- $$invalidate(21, isPreviewModeInteractive = $$props2.isPreviewModeInteractive);
6253
+ $$invalidate(30, isPreviewModeInteractive = $$props2.isPreviewModeInteractive);
6254
+ if ("isPreviewCheckedAnswer" in $$props2)
6255
+ $$invalidate(31, isPreviewCheckedAnswer = $$props2.isPreviewCheckedAnswer);
6256
+ if ("sessionId" in $$props2)
6257
+ $$invalidate(3, sessionId = $$props2.sessionId);
6258
+ };
6259
+ $$self.$$.update = () => {
6260
+ if ($$self.$$.dirty[1] & /*isPreviewCheckedAnswer*/
6261
+ 1) {
6262
+ $:
6263
+ if (isPreviewCheckedAnswer) {
6264
+ resetInteractivePreviewData();
6265
+ }
6266
+ }
4799
6267
  };
4800
6268
  return [
4801
- isDataSaving,
4802
6269
  isFinished,
4803
6270
  isResultCorrect,
6271
+ isDataSaving,
6272
+ sessionId,
6273
+ root,
4804
6274
  typeinAnswer,
4805
6275
  resultFeedback,
6276
+ inlineTypeinAnswer,
6277
+ isSkippedAnswer,
4806
6278
  placeholder,
4807
6279
  resultLabel,
4808
6280
  inlinePromptString,
4809
6281
  hasDivider,
6282
+ inlineAnswerResult,
6283
+ correctAnswerData,
6284
+ correctAnswerDataLength,
4810
6285
  textAriaLabel,
6286
+ inlineIteration,
4811
6287
  rubric,
4812
6288
  stimulus,
4813
6289
  prompt,
4814
6290
  typeinType,
6291
+ isInlineTypein,
4815
6292
  isReadonlyText,
4816
6293
  saveAnswer,
4817
6294
  saveOnEnter,
@@ -4820,6 +6297,8 @@
4820
6297
  sessionData,
4821
6298
  isPreviewMode,
4822
6299
  isPreviewModeInteractive,
6300
+ isPreviewCheckedAnswer,
6301
+ div0_binding,
4823
6302
  input_input_handler,
4824
6303
  focusout_handler,
4825
6304
  keydown_handler,
@@ -4837,65 +6316,81 @@
4837
6316
  init(
4838
6317
  this,
4839
6318
  options,
4840
- instance7,
4841
- create_fragment9,
6319
+ instance8,
6320
+ create_fragment11,
4842
6321
  safe_not_equal,
4843
6322
  {
4844
- sessionData: 19,
4845
- isDataSaving: 0,
4846
- isFinished: 1,
4847
- isResultCorrect: 2,
4848
- isPreviewMode: 20,
4849
- isPreviewModeInteractive: 21
6323
+ sessionData: 28,
6324
+ isDataSaving: 2,
6325
+ isFinished: 0,
6326
+ isResultCorrect: 1,
6327
+ isPreviewMode: 29,
6328
+ isPreviewModeInteractive: 30,
6329
+ isPreviewCheckedAnswer: 31,
6330
+ sessionId: 3
4850
6331
  },
4851
6332
  null,
4852
- [-1, -1]
6333
+ [-1, -1, -1]
4853
6334
  );
4854
6335
  }
4855
6336
  get sessionData() {
4856
- return this.$$.ctx[19];
6337
+ return this.$$.ctx[28];
4857
6338
  }
4858
6339
  set sessionData(sessionData) {
4859
6340
  this.$$set({ sessionData });
4860
6341
  flush();
4861
6342
  }
4862
6343
  get isDataSaving() {
4863
- return this.$$.ctx[0];
6344
+ return this.$$.ctx[2];
4864
6345
  }
4865
6346
  set isDataSaving(isDataSaving) {
4866
6347
  this.$$set({ isDataSaving });
4867
6348
  flush();
4868
6349
  }
4869
6350
  get isFinished() {
4870
- return this.$$.ctx[1];
6351
+ return this.$$.ctx[0];
4871
6352
  }
4872
6353
  set isFinished(isFinished) {
4873
6354
  this.$$set({ isFinished });
4874
6355
  flush();
4875
6356
  }
4876
6357
  get isResultCorrect() {
4877
- return this.$$.ctx[2];
6358
+ return this.$$.ctx[1];
4878
6359
  }
4879
6360
  set isResultCorrect(isResultCorrect) {
4880
6361
  this.$$set({ isResultCorrect });
4881
6362
  flush();
4882
6363
  }
4883
6364
  get isPreviewMode() {
4884
- return this.$$.ctx[20];
6365
+ return this.$$.ctx[29];
4885
6366
  }
4886
6367
  set isPreviewMode(isPreviewMode) {
4887
6368
  this.$$set({ isPreviewMode });
4888
6369
  flush();
4889
6370
  }
4890
6371
  get isPreviewModeInteractive() {
4891
- return this.$$.ctx[21];
6372
+ return this.$$.ctx[30];
4892
6373
  }
4893
6374
  set isPreviewModeInteractive(isPreviewModeInteractive) {
4894
6375
  this.$$set({ isPreviewModeInteractive });
4895
6376
  flush();
4896
6377
  }
6378
+ get isPreviewCheckedAnswer() {
6379
+ return this.$$.ctx[31];
6380
+ }
6381
+ set isPreviewCheckedAnswer(isPreviewCheckedAnswer) {
6382
+ this.$$set({ isPreviewCheckedAnswer });
6383
+ flush();
6384
+ }
6385
+ get sessionId() {
6386
+ return this.$$.ctx[3];
6387
+ }
6388
+ set sessionId(sessionId) {
6389
+ this.$$set({ sessionId });
6390
+ flush();
6391
+ }
4897
6392
  };
4898
- customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" }, "isPreviewMode": { "type": "Boolean" }, "isPreviewModeInteractive": { "type": "Boolean" } }, [], [], true));
6393
+ customElements.define("prompt-typein", create_custom_element(PromptTypeIn, { "sessionData": {}, "isDataSaving": {}, "isFinished": { "type": "Boolean" }, "isResultCorrect": { "type": "Boolean" }, "isPreviewMode": { "type": "Boolean" }, "isPreviewModeInteractive": { "type": "Boolean" }, "isPreviewCheckedAnswer": { "type": "Boolean" }, "sessionId": {} }, [], [], true));
4899
6394
  var PromptTypeIn_default = PromptTypeIn;
4900
6395
 
4901
6396
  // node_modules/svelte-dnd-action/dist/index.mjs
@@ -6899,7 +8394,7 @@
6899
8394
  }
6900
8395
 
6901
8396
  // src/lib/assets/img/product/GripVertical.svelte
6902
- function create_fragment10(ctx) {
8397
+ function create_fragment12(ctx) {
6903
8398
  let svg;
6904
8399
  let path;
6905
8400
  return {
@@ -6933,14 +8428,14 @@
6933
8428
  var GripVertical = class extends SvelteComponent {
6934
8429
  constructor(options) {
6935
8430
  super();
6936
- init(this, options, null, create_fragment10, safe_not_equal, {});
8431
+ init(this, options, null, create_fragment12, safe_not_equal, {});
6937
8432
  }
6938
8433
  };
6939
8434
  create_custom_element(GripVertical, {}, [], [], true);
6940
8435
  var GripVertical_default = GripVertical;
6941
8436
 
6942
8437
  // src/lib/assets/img/messaging/Success.svelte
6943
- function create_fragment11(ctx) {
8438
+ function create_fragment13(ctx) {
6944
8439
  let svg;
6945
8440
  let path;
6946
8441
  return {
@@ -6974,7 +8469,7 @@
6974
8469
  var Success = class extends SvelteComponent {
6975
8470
  constructor(options) {
6976
8471
  super();
6977
- init(this, options, null, create_fragment11, safe_not_equal, {});
8472
+ init(this, options, null, create_fragment13, safe_not_equal, {});
6978
8473
  }
6979
8474
  };
6980
8475
  create_custom_element(Success, {}, [], [], true);
@@ -7042,7 +8537,7 @@
7042
8537
  }
7043
8538
  };
7044
8539
  }
7045
- function create_if_block_25(ctx) {
8540
+ function create_if_block_26(ctx) {
7046
8541
  let span;
7047
8542
  let errorsolid;
7048
8543
  let current;
@@ -7076,7 +8571,7 @@
7076
8571
  }
7077
8572
  };
7078
8573
  }
7079
- function create_if_block_16(ctx) {
8574
+ function create_if_block_17(ctx) {
7080
8575
  let span;
7081
8576
  let successsolid;
7082
8577
  let current;
@@ -7110,7 +8605,7 @@
7110
8605
  }
7111
8606
  };
7112
8607
  }
7113
- function create_if_block7(ctx) {
8608
+ function create_if_block8(ctx) {
7114
8609
  let span;
7115
8610
  let gripvertical;
7116
8611
  let current;
@@ -7144,7 +8639,7 @@
7144
8639
  }
7145
8640
  };
7146
8641
  }
7147
- function create_fragment12(ctx) {
8642
+ function create_fragment14(ctx) {
7148
8643
  let button;
7149
8644
  let span0;
7150
8645
  let commonstringtohtml;
@@ -7168,7 +8663,7 @@
7168
8663
  /*word*/
7169
8664
  ctx[1]
7170
8665
  ) } });
7171
- const if_block_creators = [create_if_block_16, create_if_block_25, create_if_block_34, create_else_block3];
8666
+ const if_block_creators = [create_if_block_17, create_if_block_26, create_if_block_34, create_else_block3];
7172
8667
  const if_blocks = [];
7173
8668
  function select_block_type(ctx2, dirty) {
7174
8669
  if (
@@ -7195,7 +8690,7 @@
7195
8690
  let if_block1 = (
7196
8691
  /*resultType*/
7197
8692
  (ctx[0] === ANSWER_CORRECT || /*resultType*/
7198
- ctx[0] === ANSWER_INCORRECT) && create_if_block7(ctx)
8693
+ ctx[0] === ANSWER_INCORRECT) && create_if_block8(ctx)
7199
8694
  );
7200
8695
  return {
7201
8696
  c() {
@@ -7365,7 +8860,7 @@
7365
8860
  transition_in(if_block1, 1);
7366
8861
  }
7367
8862
  } else {
7368
- if_block1 = create_if_block7(ctx);
8863
+ if_block1 = create_if_block8(ctx);
7369
8864
  if_block1.c();
7370
8865
  transition_in(if_block1, 1);
7371
8866
  if_block1.m(span2, null);
@@ -7465,7 +8960,7 @@
7465
8960
  }
7466
8961
  };
7467
8962
  }
7468
- function instance8($$self, $$props, $$invalidate) {
8963
+ function instance9($$self, $$props, $$invalidate) {
7469
8964
  let { word = "" } = $$props;
7470
8965
  let { resultType = "" } = $$props;
7471
8966
  let { otherClass = "" } = $$props;
@@ -7621,7 +9116,7 @@
7621
9116
  var PromptCategoriseWordButton = class extends SvelteComponent {
7622
9117
  constructor(options) {
7623
9118
  super();
7624
- init(this, options, instance8, create_fragment12, safe_not_equal, {
9119
+ init(this, options, instance9, create_fragment14, safe_not_equal, {
7625
9120
  word: 1,
7626
9121
  resultType: 0,
7627
9122
  otherClass: 2,
@@ -7748,12 +9243,12 @@
7748
9243
  };
7749
9244
 
7750
9245
  // src/lib/components/prompt/categorise/PromptCategoriseDndContainer.svelte
7751
- function get_each_context2(ctx, list, i) {
9246
+ function get_each_context3(ctx, list, i) {
7752
9247
  const child_ctx = ctx.slice();
7753
9248
  child_ctx[39] = list[i];
7754
9249
  return child_ctx;
7755
9250
  }
7756
- function create_if_block_26(ctx) {
9251
+ function create_if_block_27(ctx) {
7757
9252
  let button;
7758
9253
  let button_class_value;
7759
9254
  let mounted;
@@ -7802,7 +9297,7 @@
7802
9297
  }
7803
9298
  };
7804
9299
  }
7805
- function create_if_block_17(ctx) {
9300
+ function create_if_block_18(ctx) {
7806
9301
  let div;
7807
9302
  let mounted;
7808
9303
  let dispose;
@@ -7844,7 +9339,7 @@
7844
9339
  }
7845
9340
  };
7846
9341
  }
7847
- function create_if_block8(ctx) {
9342
+ function create_if_block9(ctx) {
7848
9343
  let button;
7849
9344
  let t2;
7850
9345
  let button_class_value;
@@ -7876,14 +9371,14 @@
7876
9371
  }
7877
9372
  };
7878
9373
  }
7879
- function create_each_block2(key_1, ctx) {
9374
+ function create_each_block3(key_1, ctx) {
7880
9375
  let first;
7881
9376
  let t2;
7882
9377
  let promptcategorisewordbutton;
7883
9378
  let current;
7884
9379
  let if_block = (
7885
9380
  /*item*/
7886
- ctx[39].type === ANSWER_MISSED && create_if_block8(ctx)
9381
+ ctx[39].type === ANSWER_MISSED && create_if_block9(ctx)
7887
9382
  );
7888
9383
  promptcategorisewordbutton = new PromptCategoriseWordButton_default({
7889
9384
  props: {
@@ -7975,7 +9470,7 @@
7975
9470
  if (if_block) {
7976
9471
  if_block.p(ctx, dirty);
7977
9472
  } else {
7978
- if_block = create_if_block8(ctx);
9473
+ if_block = create_if_block9(ctx);
7979
9474
  if_block.c();
7980
9475
  if_block.m(t2.parentNode, t2);
7981
9476
  }
@@ -8062,7 +9557,7 @@
8062
9557
  }
8063
9558
  };
8064
9559
  }
8065
- function create_fragment13(ctx) {
9560
+ function create_fragment15(ctx) {
8066
9561
  let t0;
8067
9562
  let t1;
8068
9563
  let section;
@@ -8080,12 +9575,12 @@
8080
9575
  ctx[15] !== /*containerId*/
8081
9576
  ctx[4] && !/*isFinished*/
8082
9577
  ctx[8] && !/*isDataSaving*/
8083
- ctx[11] && create_if_block_26(ctx)
9578
+ ctx[11] && create_if_block_27(ctx)
8084
9579
  );
8085
9580
  let if_block1 = (
8086
9581
  /*totalRemainingWordBinItem*/
8087
9582
  ctx[17] <= 0 && /*isContainerWordBin*/
8088
- ctx[23] && create_if_block_17(ctx)
9583
+ ctx[23] && create_if_block_18(ctx)
8089
9584
  );
8090
9585
  let each_value = ensure_array_like(Object.values(
8091
9586
  /*items*/
@@ -8096,9 +9591,9 @@
8096
9591
  ctx2[39].id
8097
9592
  );
8098
9593
  for (let i = 0; i < each_value.length; i += 1) {
8099
- let child_ctx = get_each_context2(ctx, each_value, i);
9594
+ let child_ctx = get_each_context3(ctx, each_value, i);
8100
9595
  let key = get_key(child_ctx);
8101
- each_1_lookup.set(key, each_blocks[i] = create_each_block2(key, child_ctx));
9596
+ each_1_lookup.set(key, each_blocks[i] = create_each_block3(key, child_ctx));
8102
9597
  }
8103
9598
  return {
8104
9599
  c() {
@@ -8208,7 +9703,7 @@
8208
9703
  if (if_block0) {
8209
9704
  if_block0.p(ctx2, dirty);
8210
9705
  } else {
8211
- if_block0 = create_if_block_26(ctx2);
9706
+ if_block0 = create_if_block_27(ctx2);
8212
9707
  if_block0.c();
8213
9708
  if_block0.m(t0.parentNode, t0);
8214
9709
  }
@@ -8224,7 +9719,7 @@
8224
9719
  if (if_block1) {
8225
9720
  if_block1.p(ctx2, dirty);
8226
9721
  } else {
8227
- if_block1 = create_if_block_17(ctx2);
9722
+ if_block1 = create_if_block_18(ctx2);
8228
9723
  if_block1.c();
8229
9724
  if_block1.m(t1.parentNode, t1);
8230
9725
  }
@@ -8239,7 +9734,7 @@
8239
9734
  ctx2[20]
8240
9735
  ));
8241
9736
  group_outros();
8242
- each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, section, outro_and_destroy_block, create_each_block2, null, get_each_context2);
9737
+ each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, section, outro_and_destroy_block, create_each_block3, null, get_each_context3);
8243
9738
  check_outros();
8244
9739
  }
8245
9740
  if (!current || dirty[0] & /*containerClass*/
@@ -8338,7 +9833,7 @@
8338
9833
  }
8339
9834
  };
8340
9835
  }
8341
- function instance9($$self, $$props, $$invalidate) {
9836
+ function instance10($$self, $$props, $$invalidate) {
8342
9837
  let { containerClass = "" } = $$props;
8343
9838
  let { flipDurationMs = 5 } = $$props;
8344
9839
  let { containerId = "" } = $$props;
@@ -8683,8 +10178,8 @@
8683
10178
  init(
8684
10179
  this,
8685
10180
  options,
8686
- instance9,
8687
- create_fragment13,
10181
+ instance10,
10182
+ create_fragment15,
8688
10183
  safe_not_equal,
8689
10184
  {
8690
10185
  containerClass: 2,
@@ -8801,7 +10296,7 @@
8801
10296
  var PromptCategoriseDndContainer_default = PromptCategoriseDndContainer;
8802
10297
 
8803
10298
  // src/lib/components/common/CommonModal.svelte
8804
- function create_fragment14(ctx) {
10299
+ function create_fragment16(ctx) {
8805
10300
  let div2;
8806
10301
  let div0;
8807
10302
  let t2;
@@ -8933,7 +10428,7 @@
8933
10428
  var keypress_handler = () => {
8934
10429
  return false;
8935
10430
  };
8936
- function instance10($$self, $$props, $$invalidate) {
10431
+ function instance11($$self, $$props, $$invalidate) {
8937
10432
  let { $$slots: slots = {}, $$scope } = $$props;
8938
10433
  let { modalData = [] } = $$props;
8939
10434
  const dispatch = createEventDispatcher();
@@ -8965,7 +10460,7 @@
8965
10460
  var CommonModal = class extends SvelteComponent {
8966
10461
  constructor(options) {
8967
10462
  super();
8968
- init(this, options, instance10, create_fragment14, safe_not_equal, { modalData: 3 });
10463
+ init(this, options, instance11, create_fragment16, safe_not_equal, { modalData: 3 });
8969
10464
  }
8970
10465
  get modalData() {
8971
10466
  return this.$$.ctx[3];
@@ -8979,7 +10474,7 @@
8979
10474
  var CommonModal_default = CommonModal;
8980
10475
 
8981
10476
  // src/lib/assets/img/messaging/AlertIcon.svelte
8982
- function create_fragment15(ctx) {
10477
+ function create_fragment17(ctx) {
8983
10478
  let svg;
8984
10479
  let path;
8985
10480
  return {
@@ -9013,14 +10508,14 @@
9013
10508
  var AlertIcon = class extends SvelteComponent {
9014
10509
  constructor(options) {
9015
10510
  super();
9016
- init(this, options, null, create_fragment15, safe_not_equal, {});
10511
+ init(this, options, null, create_fragment17, safe_not_equal, {});
9017
10512
  }
9018
10513
  };
9019
10514
  create_custom_element(AlertIcon, {}, [], [], true);
9020
10515
  var AlertIcon_default = AlertIcon;
9021
10516
 
9022
10517
  // src/lib/assets/img/messaging/CrossIcon.svelte
9023
- function create_fragment16(ctx) {
10518
+ function create_fragment18(ctx) {
9024
10519
  let svg;
9025
10520
  let path;
9026
10521
  return {
@@ -9054,7 +10549,7 @@
9054
10549
  var CrossIcon = class extends SvelteComponent {
9055
10550
  constructor(options) {
9056
10551
  super();
9057
- init(this, options, null, create_fragment16, safe_not_equal, {});
10552
+ init(this, options, null, create_fragment18, safe_not_equal, {});
9058
10553
  }
9059
10554
  };
9060
10555
  create_custom_element(CrossIcon, {}, [], [], true);
@@ -9214,7 +10709,7 @@
9214
10709
  }
9215
10710
  };
9216
10711
  }
9217
- function create_fragment17(ctx) {
10712
+ function create_fragment19(ctx) {
9218
10713
  let commonmodal;
9219
10714
  let current;
9220
10715
  commonmodal = new CommonModal_default({
@@ -9267,7 +10762,7 @@
9267
10762
  }
9268
10763
  };
9269
10764
  }
9270
- function instance11($$self, $$props, $$invalidate) {
10765
+ function instance12($$self, $$props, $$invalidate) {
9271
10766
  let { categoryData = [] } = $$props;
9272
10767
  let { modalData = [] } = $$props;
9273
10768
  let categoryModal;
@@ -9350,7 +10845,7 @@
9350
10845
  var PromptCategoriseModal = class extends SvelteComponent {
9351
10846
  constructor(options) {
9352
10847
  super();
9353
- init(this, options, instance11, create_fragment17, safe_not_equal, { categoryData: 6, modalData: 0 });
10848
+ init(this, options, instance12, create_fragment19, safe_not_equal, { categoryData: 6, modalData: 0 });
9354
10849
  }
9355
10850
  get categoryData() {
9356
10851
  return this.$$.ctx[6];
@@ -9371,7 +10866,7 @@
9371
10866
  var PromptCategoriseModal_default = PromptCategoriseModal;
9372
10867
 
9373
10868
  // src/lib/assets/img/action/Switch.svelte
9374
- function create_fragment18(ctx) {
10869
+ function create_fragment20(ctx) {
9375
10870
  let svg;
9376
10871
  let path;
9377
10872
  return {
@@ -9403,14 +10898,14 @@
9403
10898
  var Switch = class extends SvelteComponent {
9404
10899
  constructor(options) {
9405
10900
  super();
9406
- init(this, options, null, create_fragment18, safe_not_equal, {});
10901
+ init(this, options, null, create_fragment20, safe_not_equal, {});
9407
10902
  }
9408
10903
  };
9409
10904
  create_custom_element(Switch, {}, [], [], true);
9410
10905
  var Switch_default = Switch;
9411
10906
 
9412
10907
  // src/lib/assets/img/messaging/SmallChevronUp.svelte
9413
- function create_fragment19(ctx) {
10908
+ function create_fragment21(ctx) {
9414
10909
  let svg;
9415
10910
  let path;
9416
10911
  return {
@@ -9444,14 +10939,14 @@
9444
10939
  var SmallChevronUp = class extends SvelteComponent {
9445
10940
  constructor(options) {
9446
10941
  super();
9447
- init(this, options, null, create_fragment19, safe_not_equal, {});
10942
+ init(this, options, null, create_fragment21, safe_not_equal, {});
9448
10943
  }
9449
10944
  };
9450
10945
  create_custom_element(SmallChevronUp, {}, [], [], true);
9451
10946
  var SmallChevronUp_default = SmallChevronUp;
9452
10947
 
9453
10948
  // src/lib/assets/img/messaging/SmallChevronDown.svelte
9454
- function create_fragment20(ctx) {
10949
+ function create_fragment22(ctx) {
9455
10950
  let svg;
9456
10951
  let path;
9457
10952
  return {
@@ -9485,14 +10980,14 @@
9485
10980
  var SmallChevronDown = class extends SvelteComponent {
9486
10981
  constructor(options) {
9487
10982
  super();
9488
- init(this, options, null, create_fragment20, safe_not_equal, {});
10983
+ init(this, options, null, create_fragment22, safe_not_equal, {});
9489
10984
  }
9490
10985
  };
9491
10986
  create_custom_element(SmallChevronDown, {}, [], [], true);
9492
10987
  var SmallChevronDown_default = SmallChevronDown;
9493
10988
 
9494
10989
  // src/lib/assets/img/messaging/SmallChevronLeft.svelte
9495
- function create_fragment21(ctx) {
10990
+ function create_fragment23(ctx) {
9496
10991
  let svg;
9497
10992
  let path;
9498
10993
  return {
@@ -9526,14 +11021,14 @@
9526
11021
  var SmallChevronLeft = class extends SvelteComponent {
9527
11022
  constructor(options) {
9528
11023
  super();
9529
- init(this, options, null, create_fragment21, safe_not_equal, {});
11024
+ init(this, options, null, create_fragment23, safe_not_equal, {});
9530
11025
  }
9531
11026
  };
9532
11027
  create_custom_element(SmallChevronLeft, {}, [], [], true);
9533
11028
  var SmallChevronLeft_default = SmallChevronLeft;
9534
11029
 
9535
11030
  // src/lib/assets/img/messaging/SmallChevronRight.svelte
9536
- function create_fragment22(ctx) {
11031
+ function create_fragment24(ctx) {
9537
11032
  let svg;
9538
11033
  let path;
9539
11034
  return {
@@ -9567,14 +11062,14 @@
9567
11062
  var SmallChevronRight = class extends SvelteComponent {
9568
11063
  constructor(options) {
9569
11064
  super();
9570
- init(this, options, null, create_fragment22, safe_not_equal, {});
11065
+ init(this, options, null, create_fragment24, safe_not_equal, {});
9571
11066
  }
9572
11067
  };
9573
11068
  create_custom_element(SmallChevronRight, {}, [], [], true);
9574
11069
  var SmallChevronRight_default = SmallChevronRight;
9575
11070
 
9576
11071
  // src/lib/assets/img/messaging/ArrowDownCircle.svelte
9577
- function create_fragment23(ctx) {
11072
+ function create_fragment25(ctx) {
9578
11073
  let svg;
9579
11074
  let path;
9580
11075
  return {
@@ -9608,7 +11103,7 @@
9608
11103
  var ArrowDownCircle = class extends SvelteComponent {
9609
11104
  constructor(options) {
9610
11105
  super();
9611
- init(this, options, null, create_fragment23, safe_not_equal, {});
11106
+ init(this, options, null, create_fragment25, safe_not_equal, {});
9612
11107
  }
9613
11108
  };
9614
11109
  create_custom_element(ArrowDownCircle, {}, [], [], true);
@@ -9777,14 +11272,14 @@
9777
11272
  };
9778
11273
 
9779
11274
  // src/lib/components/prompt/categorise/PromptCategorise.svelte
9780
- function get_each_context3(ctx, list, i) {
11275
+ function get_each_context4(ctx, list, i) {
9781
11276
  const child_ctx = ctx.slice();
9782
11277
  child_ctx[68] = list[i];
9783
11278
  child_ctx[69] = list;
9784
11279
  child_ctx[70] = i;
9785
11280
  return child_ctx;
9786
11281
  }
9787
- function create_if_block_72(ctx) {
11282
+ function create_if_block_73(ctx) {
9788
11283
  let promptcategorisemodal;
9789
11284
  let current;
9790
11285
  promptcategorisemodal = new PromptCategoriseModal_default({
@@ -9849,7 +11344,7 @@
9849
11344
  }
9850
11345
  };
9851
11346
  }
9852
- function create_if_block_62(ctx) {
11347
+ function create_if_block_63(ctx) {
9853
11348
  let button;
9854
11349
  let span0;
9855
11350
  let switchicon;
@@ -9926,7 +11421,7 @@
9926
11421
  }
9927
11422
  };
9928
11423
  }
9929
- function create_if_block_52(ctx) {
11424
+ function create_if_block_53(ctx) {
9930
11425
  let span;
9931
11426
  let t0;
9932
11427
  let t1;
@@ -10034,7 +11529,7 @@
10034
11529
  }
10035
11530
  };
10036
11531
  }
10037
- function create_if_block_27(ctx) {
11532
+ function create_if_block_28(ctx) {
10038
11533
  let span;
10039
11534
  let t0;
10040
11535
  let t1;
@@ -10115,7 +11610,7 @@
10115
11610
  }
10116
11611
  };
10117
11612
  }
10118
- function create_if_block_18(ctx) {
11613
+ function create_if_block_19(ctx) {
10119
11614
  let smallchevronup;
10120
11615
  let current;
10121
11616
  smallchevronup = new SmallChevronUp_default({});
@@ -10142,7 +11637,7 @@
10142
11637
  }
10143
11638
  };
10144
11639
  }
10145
- function create_each_block3(ctx) {
11640
+ function create_each_block4(ctx) {
10146
11641
  let div1;
10147
11642
  let div0;
10148
11643
  let show_if_2 = (
@@ -10205,7 +11700,7 @@
10205
11700
  let current;
10206
11701
  let mounted;
10207
11702
  let dispose;
10208
- let if_block0 = show_if_2 && create_if_block_52(ctx);
11703
+ let if_block0 = show_if_2 && create_if_block_53(ctx);
10209
11704
  commonstringtohtml = new CommonStringToHtml_default({
10210
11705
  props: {
10211
11706
  ariaHidden: (
@@ -10230,9 +11725,9 @@
10230
11725
  ctx[5] && create_if_block_35(ctx);
10231
11726
  let if_block3 = (
10232
11727
  /*previewResultSr*/
10233
- ctx[5] && create_if_block_27(ctx)
11728
+ ctx[5] && create_if_block_28(ctx)
10234
11729
  );
10235
- const if_block_creators = [create_if_block_18, create_else_block4];
11730
+ const if_block_creators = [create_if_block_19, create_else_block4];
10236
11731
  const if_blocks = [];
10237
11732
  function select_block_type(ctx2, dirty) {
10238
11733
  if (dirty[0] & /*openCategoryContainer*/
@@ -10593,7 +12088,7 @@
10593
12088
  if (if_block0) {
10594
12089
  if_block0.p(ctx, dirty);
10595
12090
  } else {
10596
- if_block0 = create_if_block_52(ctx);
12091
+ if_block0 = create_if_block_53(ctx);
10597
12092
  if_block0.c();
10598
12093
  if_block0.m(div0, t0);
10599
12094
  }
@@ -10655,7 +12150,7 @@
10655
12150
  if (if_block3) {
10656
12151
  if_block3.p(ctx, dirty);
10657
12152
  } else {
10658
- if_block3 = create_if_block_27(ctx);
12153
+ if_block3 = create_if_block_28(ctx);
10659
12154
  if_block3.c();
10660
12155
  if_block3.m(div0, t8);
10661
12156
  }
@@ -10920,7 +12415,7 @@
10920
12415
  }
10921
12416
  };
10922
12417
  }
10923
- function create_if_block9(ctx) {
12418
+ function create_if_block10(ctx) {
10924
12419
  let span;
10925
12420
  let t0;
10926
12421
  let t1;
@@ -11013,13 +12508,13 @@
11013
12508
  arrowdowncircle = new ArrowDownCircle_default({});
11014
12509
  let if_block0 = (
11015
12510
  /*isModalOpen*/
11016
- ctx[18] && create_if_block_72(ctx)
12511
+ ctx[18] && create_if_block_73(ctx)
11017
12512
  );
11018
12513
  let if_block1 = (
11019
12514
  /*totalRemainingWordBinItem*/
11020
12515
  ctx[16] !== /*totalCategoryItems*/
11021
12516
  ctx[10] && !/*isFinished*/
11022
- ctx[0] && create_if_block_62(ctx)
12517
+ ctx[0] && create_if_block_63(ctx)
11023
12518
  );
11024
12519
  let each_value = ensure_array_like(Object.values(
11025
12520
  /*categoryGroups*/
@@ -11027,12 +12522,12 @@
11027
12522
  ));
11028
12523
  let each_blocks = [];
11029
12524
  for (let i = 0; i < each_value.length; i += 1) {
11030
- each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i));
12525
+ each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i));
11031
12526
  }
11032
12527
  const out = (i) => transition_out(each_blocks[i], 1, 1, () => {
11033
12528
  each_blocks[i] = null;
11034
12529
  });
11035
- let if_block2 = show_if && create_if_block9(ctx);
12530
+ let if_block2 = show_if && create_if_block10(ctx);
11036
12531
  smallchevronleft = new SmallChevronLeft_default({});
11037
12532
  promptcategorisedndcontainer = new PromptCategoriseDndContainer_default({
11038
12533
  props: {
@@ -11365,7 +12860,7 @@
11365
12860
  transition_in(if_block0, 1);
11366
12861
  }
11367
12862
  } else {
11368
- if_block0 = create_if_block_72(ctx);
12863
+ if_block0 = create_if_block_73(ctx);
11369
12864
  if_block0.c();
11370
12865
  transition_in(if_block0, 1);
11371
12866
  if_block0.m(t3.parentNode, t3);
@@ -11390,7 +12885,7 @@
11390
12885
  transition_in(if_block1, 1);
11391
12886
  }
11392
12887
  } else {
11393
- if_block1 = create_if_block_62(ctx);
12888
+ if_block1 = create_if_block_63(ctx);
11394
12889
  if_block1.c();
11395
12890
  transition_in(if_block1, 1);
11396
12891
  if_block1.m(div0, null);
@@ -11420,12 +12915,12 @@
11420
12915
  ));
11421
12916
  let i;
11422
12917
  for (i = 0; i < each_value.length; i += 1) {
11423
- const child_ctx = get_each_context3(ctx, each_value, i);
12918
+ const child_ctx = get_each_context4(ctx, each_value, i);
11424
12919
  if (each_blocks[i]) {
11425
12920
  each_blocks[i].p(child_ctx, dirty);
11426
12921
  transition_in(each_blocks[i], 1);
11427
12922
  } else {
11428
- each_blocks[i] = create_each_block3(child_ctx);
12923
+ each_blocks[i] = create_each_block4(child_ctx);
11429
12924
  each_blocks[i].c();
11430
12925
  transition_in(each_blocks[i], 1);
11431
12926
  each_blocks[i].m(div1, null);
@@ -11449,7 +12944,7 @@
11449
12944
  if (if_block2) {
11450
12945
  if_block2.p(ctx, dirty);
11451
12946
  } else {
11452
- if_block2 = create_if_block9(ctx);
12947
+ if_block2 = create_if_block10(ctx);
11453
12948
  if_block2.c();
11454
12949
  if_block2.m(div2, t8);
11455
12950
  }
@@ -11636,7 +13131,7 @@
11636
13131
  }
11637
13132
  };
11638
13133
  }
11639
- function create_fragment24(ctx) {
13134
+ function create_fragment26(ctx) {
11640
13135
  let div;
11641
13136
  let promptbody;
11642
13137
  let current;
@@ -11695,7 +13190,7 @@
11695
13190
  }
11696
13191
  };
11697
13192
  }
11698
- function instance12($$self, $$props, $$invalidate) {
13193
+ function instance13($$self, $$props, $$invalidate) {
11699
13194
  let { sessionData } = $$props;
11700
13195
  let { isFinished = false } = $$props;
11701
13196
  let { isPreviewMode = false } = $$props;
@@ -12124,8 +13619,8 @@
12124
13619
  init(
12125
13620
  this,
12126
13621
  options,
12127
- instance12,
12128
- create_fragment24,
13622
+ instance13,
13623
+ create_fragment26,
12129
13624
  safe_not_equal,
12130
13625
  {
12131
13626
  sessionData: 48,
@@ -12178,7 +13673,7 @@
12178
13673
  var PromptCategorise_default = PromptCategorise;
12179
13674
 
12180
13675
  // src/lib/components/prompt/skeleton/PromptSkeleton.svelte
12181
- function create_fragment25(ctx) {
13676
+ function create_fragment27(ctx) {
12182
13677
  let div3;
12183
13678
  return {
12184
13679
  c() {
@@ -12201,7 +13696,7 @@
12201
13696
  var PromptSkeleton = class extends SvelteComponent {
12202
13697
  constructor(options) {
12203
13698
  super();
12204
- init(this, options, null, create_fragment25, safe_not_equal, {});
13699
+ init(this, options, null, create_fragment27, safe_not_equal, {});
12205
13700
  }
12206
13701
  };
12207
13702
  customElements.define("prompt-skeleton", create_custom_element(PromptSkeleton, {}, [], [], true));
@@ -12209,7 +13704,7 @@
12209
13704
 
12210
13705
  // src/lib/components/prompt/PromptBuilder.svelte
12211
13706
  function add_css2(target) {
12212
- append_styles(target, "svelte-n44wfg", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.blanket-overlay{--tw-bg-opacity:1;background-color:rgb(33 37 41/var(--tw-bg-opacity));inset:0;opacity:0.3;position:absolute}.item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.focus-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.hover-focus-ring:hover,.raw-focus-ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(218 224 224/var(--tw-border-opacity))}@keyframes svelte-n44wfg-pulse{50%{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-n44wfg-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}}.typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{transition-duration:50ms}}.typein-textbox:focus-visible{outline-color:#212529;outline-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{outline-color:#212529;outline-width:2px}}.typein-textbox:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity))}.inline-typein-container>p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;font-weight:600;line-height:3rem}#dnd-action-dragged-el{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;--tw-border-opacity:1!important;--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important;border-color:rgb(93 99 107/var(--tw-border-opacity)) !important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));cursor:grabbing !important;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}#dnd-action-dragged-el .btn-vertical-icon{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));cursor:grabbing !important}#dnd-action-dragged-el .preview-icon{display:none !important}#dnd-action-dragged-el .preview-vertical{display:block !important}.category-content>.missing-answer-label{display:block}.category-content>.missing-answer-label~.missing-answer-label{display:none}.text-stimulus{padding-bottom:1rem;padding-top:1rem}.text-stimulus p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;line-height:1.75rem;padding-bottom:0.5rem}.text-stimulus ol,.text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:0.5rem;padding-left:0.5rem}.text-stimulus ol ::marker,.text-stimulus ul ::marker{color:#282c87}.text-stimulus ol::marker,.text-stimulus ul::marker{color:#282c87}.text-stimulus ul{list-style-type:disc}.text-stimulus ol{list-style-type:decimal}.text-stimulus ul li>p{margin-left:-0.5rem}.text-stimulus ol>li>p,.text-stimulus ul>li>p{display:inline;font-size:1rem;line-height:1.5rem;padding-bottom:0;padding-top:0}.text-stimulus div.table-container:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.text-stimulus div.table-container{border-radius:0.5rem;overflow:auto;padding-left:0.125rem;padding-right:0.125rem}.text-stimulus table{--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);border-radius:0.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);margin-bottom:1rem;margin-top:0.5rem;overflow-x:auto;width:100%}.text-stimulus table tr{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(156 163 175/var(--tw-border-opacity))}.text-stimulus table tr:last-child{border-color:transparent}.text-stimulus table td,.text-stimulus table th{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:1px;min-width:140px}.text-stimulus table td:first-child,.text-stimulus table th:first-child{border-style:none}.text-stimulus table td>p,.text-stimulus table th>p{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem;text-align:left}.text-stimulus table th>p{font-weight:400}.prompt p,.text-stimulus table th p{font-weight:600}.prompt p b,.prompt p b i,.prompt p b i u,.prompt p b u,.prompt p b u i,.prompt p i b,.prompt p i b u,.prompt p i u b,.prompt p u b,.prompt p u b i,.prompt p u i b,.text-stimulus table th p b,.text-stimulus table th p b i,.text-stimulus table th p b i u,.text-stimulus table th p b u,.text-stimulus table th p b u i,.text-stimulus table th p i b,.text-stimulus table th p i b u,.text-stimulus table th p i u b,.text-stimulus table th p u b,.text-stimulus table th p u b i,.text-stimulus table th p u i b{font-weight:900}.sr-only{clip:rect(0, 0, 0, 0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-top-2{top:-0.5rem}.-top-2\\.5{top:-0.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-4{left:1rem}.left-\\[-9999px\\]{left:-9999px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1{top:0.25rem}.top-12{top:3rem}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.my-2{margin-bottom:0.5rem;margin-top:0.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.mb-1{margin-bottom:0.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-3{margin-left:0.75rem}.ml-\\[3px\\]{margin-left:3px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-7\\.5{margin-top:1.875}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-10\\.5{height:2.625rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\\[470px\\]{max-height:470px}.max-h-\\[660px\\]{max-height:660px}.min-h-\\[133px\\]{min-height:133px}.min-h-\\[140px\\]{min-height:140px}.min-h-\\[54px\\]{min-height:54px}.min-h-\\[86px\\]{min-height:86px}.w-11{width:2.75rem}.w-2{width:0.5rem}.w-2\\/4{width:50%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-8\\.5{width:2.125rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[85px\\]{min-width:85px}.max-w-\\[400px\\]{max-width:400px}.grow{flex-grow:1}.basis-0{flex-basis:0px}.\\!cursor-default{cursor:default !important}.\\!cursor-pointer{cursor:pointer !important}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));margin-top:calc(0.5rem * (1 - var(--tw-space-y-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:0.25rem}.rounded-\\[32px\\]{border-radius:32px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:0.5rem}.rounded-l-lg,.rounded-t-lg{border-top-left-radius:0.5rem}.rounded-t-lg{border-top-right-radius:0.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-6,.border-l-\\[6px\\]{border-left-width:6px}.border-dashed{border-style:dashed}.\\!border-blue-1000{--tw-border-opacity:1!important;border-color:rgb(40 44 135/var(--tw-border-opacity)) !important}.border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.border-charcoal{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.border-soft-blue{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235 235 255/var(--tw-bg-opacity)) !important}.\\!bg-violet-150{--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important}.\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40 44 135/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247 250 250/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244 244 244/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84 101 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205 208 254/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-1\\.5{padding:0.375rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:0.25rem;padding-top:0.25rem}.py-1\\.5{padding-bottom:0.375rem;padding-top:0.375rem}.py-2{padding-bottom:0.5rem;padding-top:0.5rem}.py-\\[9px\\]{padding-bottom:9px;padding-top:9px}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pl-13\\.2{padding-left:3.125rem}.pl-24{padding-left:6rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\\[15px\\]{padding-top:15px}.pt-\\[55px\\]{padding-top:55px}.text-left{text-align:left}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\\[19px\\]{line-height:19px}.leading-\\[22px\\]{line-height:22px}.\\!text-gray-900{--tw-text-opacity:1!important;color:rgb(57 62 69/var(--tw-text-opacity)) !important}.text-blue-1000{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity))}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(93 99 107/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-5{opacity:0.05}.opacity-50{opacity:0.5}.shadow-\\[0_-12px_14px_-16px_\\#00000033\\]{--tw-shadow:0 -12px 14px -16px #00000033;--tw-shadow-colored:0 -12px 14px -16px var(--tw-shadow-color)}.shadow-\\[0_-12px_14px_-16px_\\#00000033\\],.shadow-md{box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.shadow-md{--tw-shadow:0px 2px 8px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 8px var(--tw-shadow-color)}.\\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:0.15s;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.duration-300{transition-duration:0.3s}.active\\:raw-focus-ring:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}@media(min-width: 732px){.md\\:item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.category-content>.md\\:missing-answer-label{display:block}.category-content>.md\\:missing-answer-label~.md\\:missing-answer-label{display:none}}@media(hover: hover) and (pointer: fine){.td\\:hover-focus-ring:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}}.last\\:mr-0:last-child{margin-right:0}.focus-within\\:left-0:focus-within{left:0}.focus-within\\:right-0:focus-within{right:0}.focus-within\\:top-0:focus-within{top:0}.focus-within\\:z-30:focus-within{z-index:30}.hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.focus\\:outline-transparent:focus{outline-color:transparent}.focus-visible\\:border:focus-visible{border-width:1px}.focus-visible\\:border-charcoal:focus-visible{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.focus-visible\\:border-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.focus-visible\\:border-gray-800:focus-visible{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:bg-black-55:active,.active\\:bg-black-60:active{background-color:rgba(0, 0, 0, 0.1019607843)}.active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238 206 26/var(--tw-bg-opacity))}.active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142 147 153/var(--tw-text-opacity))}.disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.group\\/itemContainer:hover .group-hover\\/itemContainer\\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:inset-0{inset:0}.md\\:top-20{top:5rem}.md\\:mb-2{margin-bottom:0.5rem}.md\\:mb-4{margin-bottom:1rem}.md\\:mb-8{margin-bottom:2rem}.md\\:mt-14{margin-top:3.5rem}.md\\:block{display:block}.md\\:inline-block{display:inline-block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-fit{height:-moz-fit-content;height:fit-content}.md\\:min-h-0{min-height:0}.md\\:min-h-\\[140px\\]{min-height:140px}.md\\:min-h-\\[164px\\]{min-height:164px}.md\\:w-fit{width:-moz-fit-content;width:fit-content}.md\\:grow-0{flex-grow:0}.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:items-center{align-items:center}.md\\:justify-normal{justify-content:normal}.md\\:justify-center{justify-content:center}.md\\:justify-between{justify-content:space-between}.md\\:gap-6{gap:1.5rem}.md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px * var(--tw-space-y-reverse));margin-top:calc(0px * (1 - var(--tw-space-y-reverse)))}.md\\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.md\\:border{border-width:1px}.md\\:border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.md\\:p-4{padding:1rem}.md\\:px-0{padding-left:0;padding-right:0}.md\\:pb-0{padding-bottom:0}.md\\:pt-20{padding-top:5rem}.md\\:pt-20\\.5{padding-top:5.125rem}.md\\:text-center{text-align:center}.md\\:shadow-\\[0_0_\\#0000\\]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.group\\/itemContainer:hover .md\\:group-hover\\/itemContainer\\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}}@media(min-width: 1196px){.lg\\:mr-6{margin-right:1.5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:min-h-\\[224px\\]{min-height:224px}.lg\\:w-full{width:100%}.lg\\:max-w-\\[50\\%\\]{max-width:50%}.lg\\:grow{flex-grow:1}.lg\\:basis-1\\/2{flex-basis:50%}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:gap-0{gap:0}.lg\\:last\\:mr-0:last-child{margin-right:0}}@media(hover: hover) and (pointer: fine){.td\\:hover\\:cursor-grab:hover{cursor:grab}.td\\:hover\\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.td\\:hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84 101 251/var(--tw-text-opacity))}.group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .td\\:group-hover\\:opacity-5{opacity:0.05}}');
13707
+ append_styles(target, "svelte-1t1plzj", '*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Mulish, sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*{font-family:Mulish, sans-serif}input::-moz-selection,textarea::-moz-selection{background-color:hsla(0, 0%, 85%, 0.4)}input::selection,textarea::selection{background-color:hsla(0, 0%, 85%, 0.4)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.p2{font-size:0.875rem;font-weight:600;line-height:1.25rem;line-height:1.5}.blanket-overlay{--tw-bg-opacity:1;background-color:rgb(33 37 41/var(--tw-bg-opacity));inset:0;opacity:0.3;position:absolute}.item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.focus-ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.hover-focus-ring:hover,.raw-focus-ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.divider{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(218 224 224/var(--tw-border-opacity))}@keyframes svelte-1t1plzj-pulse{50%{opacity:0.5}}.animate-skeleton{--tw-bg-opacity:1;animation:svelte-1t1plzj-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.btn-mcq-option:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.btn-mcq-option{--tw-text-opacity:1;--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:rgb(247 250 250/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));display:flex;font-size:1rem;justify-content:space-between;line-height:1.5rem;margin-bottom:1rem;min-height:48px;padding:0.5rem 0.75rem 0.5rem 0.5rem;width:100%}.btn-mcq-option:active{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity));border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.btn-mcq-option:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}}.btn-mcq-option>span>.choice{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;align-items:center;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(113 115 119/var(--tw-border-opacity));border-radius:1rem;border-width:1px;color:rgb(93 99 107/var(--tw-text-opacity));display:flex;font-size:1rem;font-weight:700;height:2rem;justify-content:center;letter-spacing:0.05em;line-height:1rem;margin-right:1rem;padding:0.5rem;width:2rem}.btn-mcq-option.selected{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.btn-mcq-option.selected,.btn-mcq-option.selected>span>.choice{border-color:rgb(40 44 135/var(--tw-border-opacity));border-width:2px}.btn-mcq-option.selected>span>.choice{--tw-border-opacity:1}.btn-mcq-option.selected.correct{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity));border-color:rgb(0 102 5/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.incorrect{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity));border-color:rgb(217 12 85/var(--tw-border-opacity));border-width:1px}.btn-mcq-option.selected.correct>span>.choice,.btn-mcq-option.selected.incorrect>span>.choice{--tw-border-opacity:1;border-color:rgb(113 115 119/var(--tw-border-opacity));border-width:1px}.typein-textbox:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.typein-textbox{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(75 85 99/var(--tw-border-opacity));border-radius:0.5rem;border-width:1px;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem 1rem;width:100%}.typein-textbox::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox::placeholder{--tw-placeholder-opacity:1;color:rgb(55 65 81/var(--tw-placeholder-opacity))}.typein-textbox:focus{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{--tw-border-opacity:1;border-color:rgb(59 64 240/var(--tw-border-opacity));border-width:2px}}.typein-textbox:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0)) !important}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{transition-duration:50ms}}.typein-textbox:focus-visible{outline-color:#212529;outline-width:2px}@media(hover: hover) and (pointer: fine){.typein-textbox:hover{outline-color:#212529;outline-width:2px}}.typein-textbox:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity))}.inline-typein-container>p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;font-weight:600;line-height:3rem}#dnd-action-dragged-el{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;--tw-border-opacity:1!important;--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important;border-color:rgb(93 99 107/var(--tw-border-opacity)) !important;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));cursor:grabbing !important;outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}#dnd-action-dragged-el .btn-vertical-icon{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));cursor:grabbing !important}#dnd-action-dragged-el .preview-icon{display:none !important}#dnd-action-dragged-el .preview-vertical{display:block !important}.category-content>.missing-answer-label{display:block}.category-content>.missing-answer-label~.missing-answer-label{display:none}.text-stimulus{padding-bottom:1rem;padding-top:1rem}.text-stimulus p{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;line-height:1.75rem;padding-bottom:0.5rem}.text-stimulus ol,.text-stimulus ul{font-size:1rem;line-height:1.5rem;list-style-position:inside;padding-bottom:0.5rem;padding-left:0.5rem}.text-stimulus ol ::marker,.text-stimulus ul ::marker{color:#282c87}.text-stimulus ol::marker,.text-stimulus ul::marker{color:#282c87}.text-stimulus ul{list-style-type:disc}.text-stimulus ol{list-style-type:decimal}.text-stimulus ul li>p{margin-left:-0.5rem}.text-stimulus ol>li>p,.text-stimulus ul>li>p{display:inline;font-size:1rem;line-height:1.5rem;padding-bottom:0;padding-top:0}.text-stimulus div.table-container:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:4px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}.text-stimulus div.table-container{border-radius:0.5rem;overflow:auto;padding-left:0.125rem;padding-right:0.125rem}.text-stimulus table{--tw-border-spacing-x:0.75rem;--tw-border-spacing-y:0.75rem;--tw-shadow:0 0 0 1px #9ca3af;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);border-radius:0.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);margin-bottom:1rem;margin-top:0.5rem;overflow-x:auto;width:100%}.text-stimulus table tr{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(156 163 175/var(--tw-border-opacity))}.text-stimulus table tr:last-child{border-color:transparent}.text-stimulus table td,.text-stimulus table th{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:1px;min-width:140px}.text-stimulus table td:first-child,.text-stimulus table th:first-child{border-style:none}.text-stimulus table td>p,.text-stimulus table th>p{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity));font-size:1rem;line-height:1.5rem;padding:0.75rem;text-align:left}.text-stimulus table th>p{font-weight:400}.prompt p,.text-stimulus table th p{font-weight:600}.prompt p b,.prompt p b i,.prompt p b i u,.prompt p b u,.prompt p b u i,.prompt p i b,.prompt p i b u,.prompt p i u b,.prompt p u b,.prompt p u b i,.prompt p u i b,.text-stimulus table th p b,.text-stimulus table th p b i,.text-stimulus table th p b i u,.text-stimulus table th p b u,.text-stimulus table th p b u i,.text-stimulus table th p i b,.text-stimulus table th p i b u,.text-stimulus table th p i u b,.text-stimulus table th p u b,.text-stimulus table th p u b i,.text-stimulus table th p u i b{font-weight:900}.sr-only{clip:rect(0, 0, 0, 0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.-top-2{top:-0.5rem}.-top-2\\.5{top:-0.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-\\[7px\\]{bottom:7px}.left-0{left:0}.left-4{left:1rem}.left-\\[-9999px\\]{left:-9999px}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1{top:0.25rem}.top-1\\/2{top:50%}.top-12{top:3rem}.top-3{top:0.75rem}.top-3\\.5{top:0.875rem}.top-\\[13px\\]{top:13px}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-0\\.5{margin-left:0.125rem;margin-right:0.125rem}.my-2{margin-bottom:0.5rem;margin-top:0.5rem}.my-6{margin-bottom:1.5rem;margin-top:1.5rem}.my-auto{margin-bottom:auto;margin-top:auto}.-mt-0{margin-top:0}.-mt-0\\.5{margin-top:-0.125rem}.mb-1{margin-bottom:0.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:0.5rem}.mb-3{margin-bottom:0.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:0.25rem}.ml-3{margin-left:0.75rem}.ml-8{margin-left:2rem}.ml-8\\.5{margin-left:2.125rem}.ml-\\[3px\\]{margin-left:3px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-0\\.5{margin-top:0.125rem}.mt-1{margin-top:0.25rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-7\\.5{margin-top:1.875}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-10\\.5{height:2.625rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.max-h-\\[470px\\]{max-height:470px}.max-h-\\[660px\\]{max-height:660px}.min-h-\\[133px\\]{min-height:133px}.min-h-\\[140px\\]{min-height:140px}.min-h-\\[54px\\]{min-height:54px}.min-h-\\[86px\\]{min-height:86px}.w-11{width:2.75rem}.w-2{width:0.5rem}.w-2\\/4{width:50%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-8{width:2rem}.w-8\\.5{width:2.125rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\\[44px\\]{min-width:44px}.min-w-\\[85px\\]{min-width:85px}.max-w-\\[400px\\]{max-width:400px}.grow{flex-grow:1}.basis-0{flex-basis:0px}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\!cursor-default{cursor:default !important}.\\!cursor-pointer{cursor:pointer !important}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:0.5rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0.5rem * var(--tw-space-y-reverse));margin-top:calc(0.5rem * (1 - var(--tw-space-y-reverse)))}.space-y-reverse>:not([hidden])~:not([hidden]){--tw-space-y-reverse:1}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:0.25rem}.rounded-\\[32px\\]{border-radius:32px}.rounded-lg{border-radius:0.5rem}.rounded-md{border-radius:0.375rem}.rounded-b-lg{border-bottom-right-radius:0.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:0.5rem}.rounded-l-lg,.rounded-t-lg{border-top-left-radius:0.5rem}.rounded-t-lg{border-top-right-radius:0.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-l-6,.border-l-\\[6px\\]{border-left-width:6px}.border-dashed{border-style:dashed}.\\!border-blue-1000{--tw-border-opacity:1!important;border-color:rgb(40 44 135/var(--tw-border-opacity)) !important}.border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.border-blue-950{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.border-charcoal{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgb(0 102 5/var(--tw-border-opacity))}.border-green-900{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(217 12 85/var(--tw-border-opacity))}.border-red-900{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}.border-soft-blue{--tw-border-opacity:1;border-color:rgb(84 101 251/var(--tw-border-opacity))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.\\!bg-violet-100{--tw-bg-opacity:1!important;background-color:rgb(235 235 255/var(--tw-bg-opacity)) !important}.\\!bg-violet-150{--tw-bg-opacity:1!important;background-color:rgb(205 208 254/var(--tw-bg-opacity)) !important}.\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-1000{--tw-bg-opacity:1;background-color:rgb(40 44 135/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(247 250 250/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(244 244 244/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(241 254 241/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(253 243 247/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}.bg-soft-blue{--tw-bg-opacity:1;background-color:rgb(84 101 251/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.bg-violet-150{--tw-bg-opacity:1;background-color:rgb(205 208 254/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-1000{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.p-0{padding:0}.p-0\\.5{padding:0.125rem}.p-1{padding:0.25rem}.p-1\\.5{padding:0.375rem}.p-2{padding:0.5rem}.p-3{padding:0.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:0.25rem;padding-top:0.25rem}.py-1\\.5{padding-bottom:0.375rem;padding-top:0.375rem}.py-2{padding-bottom:0.5rem;padding-top:0.5rem}.py-\\[9px\\]{padding-bottom:9px;padding-top:9px}.\\!pr-11{padding-right:2.75rem !important}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:0.5rem}.pb-3{padding-bottom:0.75rem}.pl-13\\.2{padding-left:3.125rem}.pl-24{padding-left:6rem}.pl-3{padding-left:0.75rem}.pl-4{padding-left:1rem}.pr-3{padding-right:0.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-0\\.5{padding-top:0.125rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-\\[15px\\]{padding-top:15px}.pt-\\[55px\\]{padding-top:55px}.text-left{text-align:left}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\\[19px\\]{line-height:19px}.leading-\\[22px\\]{line-height:22px}.\\!text-gray-900{--tw-text-opacity:1!important;color:rgb(57 62 69/var(--tw-text-opacity)) !important}.text-blue-1000{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity))}.text-blue-950{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-charcoal{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(93 99 107/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(0 102 5/var(--tw-text-opacity))}.text-green-900{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-red-800{--tw-text-opacity:1;color:rgb(217 12 85/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-5{opacity:0.05}.opacity-50{opacity:0.5}.shadow-\\[0_-12px_14px_-16px_\\#00000033\\]{--tw-shadow:0 -12px 14px -16px #00000033;--tw-shadow-colored:0 -12px 14px -16px var(--tw-shadow-color)}.shadow-\\[0_-12px_14px_-16px_\\#00000033\\],.shadow-md{box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.shadow-md{--tw-shadow:0px 2px 8px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 8px var(--tw-shadow-color)}.\\!outline-none{outline:2px solid transparent !important;outline-offset:2px !important}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:0.15s;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.duration-300{transition-duration:0.3s}.active\\:raw-focus-ring:active{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}@media(min-width: 732px){.md\\:item-heading{--tw-text-opacity:1;color:rgb(40 44 135/var(--tw-text-opacity));font-size:1.25rem;letter-spacing:-0.025em;line-height:1.5rem}.category-content>.md\\:missing-answer-label{display:block}.category-content>.md\\:missing-answer-label~.md\\:missing-answer-label{display:none}}@media(hover: hover) and (pointer: fine){.td\\:hover-focus-ring:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);--tw-ring-opacity:1;--tw-ring-color:rgb(84 101 251/var(--tw-ring-opacity));--tw-ring-offset-width:2px;box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));outline:2px solid transparent;outline-offset:2px;transition-duration:50ms}}.last\\:mr-0:last-child{margin-right:0}.focus-within\\:left-0:focus-within{left:0}.focus-within\\:right-0:focus-within{right:0}.focus-within\\:top-0:focus-within{top:0}.focus-within\\:z-30:focus-within{z-index:30}.hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.hover\\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(222 222 255/var(--tw-bg-opacity))}.hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.hover\\:bg-yellow-1000:hover{--tw-bg-opacity:1;background-color:rgb(251 217 27/var(--tw-bg-opacity))}.hover\\:text-charcoal:hover{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.focus\\:outline-transparent:focus{outline-color:transparent}.focus-visible\\:border:focus-visible{border-width:1px}.focus-visible\\:border-charcoal:focus-visible{--tw-border-opacity:1;border-color:rgb(33 37 41/var(--tw-border-opacity))}.focus-visible\\:border-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.focus-visible\\:border-gray-800:focus-visible{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\\:bg-black-55:active,.active\\:bg-black-60:active{background-color:rgba(0, 0, 0, 0.1019607843)}.active\\:bg-yellow-1100:active{--tw-bg-opacity:1;background-color:rgb(238 206 26/var(--tw-bg-opacity))}.active\\:text-charcoal:active{--tw-text-opacity:1;color:rgb(33 37 41/var(--tw-text-opacity))}.disabled\\:text-gray-40:disabled{--tw-text-opacity:1;color:rgb(142 147 153/var(--tw-text-opacity))}.disabled\\:hover\\:bg-white:hover:disabled{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.group\\/itemContainer:hover .group-hover\\/itemContainer\\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:active .group-active\\:border-2{border-width:2px}.group:active .group-active\\:border-blue-1000{--tw-border-opacity:1;border-color:rgb(40 44 135/var(--tw-border-opacity))}.group:active .group-active\\:p-\\[7px\\]{padding:7px}@media(min-width: 732px){.md\\:inset-0{inset:0}.md\\:top-20{top:5rem}.md\\:mb-2{margin-bottom:0.5rem}.md\\:mb-4{margin-bottom:1rem}.md\\:mb-8{margin-bottom:2rem}.md\\:ml-0{margin-left:0}.md\\:mt-0{margin-top:0}.md\\:mt-14{margin-top:3.5rem}.md\\:block{display:block}.md\\:inline-block{display:inline-block}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:h-fit{height:-moz-fit-content;height:fit-content}.md\\:min-h-0{min-height:0}.md\\:min-h-\\[140px\\]{min-height:140px}.md\\:min-h-\\[164px\\]{min-height:164px}.md\\:w-1\\/2{width:50%}.md\\:w-fit{width:-moz-fit-content;width:fit-content}.md\\:grow-0{flex-grow:0}.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\\:flex-row{flex-direction:row}.md\\:flex-col{flex-direction:column}.md\\:items-center{align-items:center}.md\\:justify-normal{justify-content:normal}.md\\:justify-center{justify-content:center}.md\\:justify-between{justify-content:space-between}.md\\:gap-6{gap:1.5rem}.md\\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px * var(--tw-space-y-reverse));margin-top:calc(0px * (1 - var(--tw-space-y-reverse)))}.md\\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.md\\:border{border-width:1px}.md\\:border-gray-400{--tw-border-opacity:1;border-color:rgb(196 201 204/var(--tw-border-opacity))}.md\\:\\!bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity)) !important}.md\\:p-4{padding:1rem}.md\\:px-0{padding-left:0;padding-right:0}.md\\:pb-0{padding-bottom:0}.md\\:pl-13\\.2{padding-left:3.125rem}.md\\:pl-4{padding-left:1rem}.md\\:pr-4{padding-right:1rem}.md\\:pt-20{padding-top:5rem}.md\\:pt-20\\.5{padding-top:5.125rem}.md\\:text-center{text-align:center}.md\\:shadow-\\[0_0_\\#0000\\]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow)}.group\\/itemContainer:hover .md\\:group-hover\\/itemContainer\\:bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}}@media(min-width: 1196px){.lg\\:mr-6{margin-right:1.5rem}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:min-h-\\[224px\\]{min-height:224px}.lg\\:w-full{width:100%}.lg\\:max-w-\\[50\\%\\]{max-width:50%}.lg\\:grow{flex-grow:1}.lg\\:basis-1\\/2{flex-basis:50%}.lg\\:items-center{align-items:center}.lg\\:justify-between{justify-content:space-between}.lg\\:gap-0{gap:0}.lg\\:last\\:mr-0:last-child{margin-right:0}}@media(hover: hover) and (pointer: fine){.td\\:hover\\:cursor-grab:hover{cursor:grab}.td\\:hover\\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(93 99 107/var(--tw-border-opacity))}.td\\:hover\\:bg-black-50:hover{background-color:rgba(0, 0, 0, 0.0509803922)}.td\\:hover\\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(235 235 255/var(--tw-bg-opacity))}.td\\:hover\\:text-soft-blue:hover{--tw-text-opacity:1;color:rgb(84 101 251/var(--tw-text-opacity))}.group:hover .td\\:group-hover\\:bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.group:hover .td\\:group-hover\\:opacity-5{opacity:0.05}}');
12213
13708
  }
12214
13709
  function create_else_block_12(ctx) {
12215
13710
  let invalidbanner;
@@ -12239,12 +13734,12 @@
12239
13734
  }
12240
13735
  };
12241
13736
  }
12242
- function create_if_block_19(ctx) {
13737
+ function create_if_block_110(ctx) {
12243
13738
  let current_block_type_index;
12244
13739
  let if_block;
12245
13740
  let if_block_anchor;
12246
13741
  let current;
12247
- const if_block_creators = [create_if_block_28, create_if_block_36, create_if_block_45, create_else_block5];
13742
+ const if_block_creators = [create_if_block_29, create_if_block_36, create_if_block_45, create_else_block5];
12248
13743
  const if_blocks = [];
12249
13744
  function select_block_type_1(ctx2, dirty) {
12250
13745
  if (
@@ -12316,7 +13811,7 @@
12316
13811
  }
12317
13812
  };
12318
13813
  }
12319
- function create_if_block10(ctx) {
13814
+ function create_if_block11(ctx) {
12320
13815
  let promptskeleton;
12321
13816
  let current;
12322
13817
  promptskeleton = new PromptSkeleton_default({});
@@ -12391,18 +13886,18 @@
12391
13886
  ),
12392
13887
  isPreviewMode: (
12393
13888
  /*isPreviewMode*/
12394
- ctx[7]
13889
+ ctx[9]
12395
13890
  ),
12396
13891
  isPreviewModeInteractive: (
12397
13892
  /*isPreviewModeInteractive*/
12398
- ctx[6]
13893
+ ctx[8]
12399
13894
  )
12400
13895
  }
12401
13896
  });
12402
13897
  promptcategorise.$on(
12403
13898
  "saveCategory",
12404
13899
  /*saveEvent*/
12405
- ctx[8]
13900
+ ctx[10]
12406
13901
  );
12407
13902
  return {
12408
13903
  c() {
@@ -12466,10 +13961,18 @@
12466
13961
  ),
12467
13962
  isPreviewMode: (
12468
13963
  /*isPreviewMode*/
12469
- ctx[7]
13964
+ ctx[9]
12470
13965
  ),
12471
13966
  isPreviewModeInteractive: (
12472
13967
  /*isPreviewModeInteractive*/
13968
+ ctx[8]
13969
+ ),
13970
+ sessionId: (
13971
+ /*sessionId*/
13972
+ ctx[7]
13973
+ ),
13974
+ isPreviewCheckedAnswer: (
13975
+ /*isPreviewCheckedAnswer*/
12473
13976
  ctx[6]
12474
13977
  )
12475
13978
  }
@@ -12477,7 +13980,7 @@
12477
13980
  prompttypein.$on(
12478
13981
  "saveAnswer",
12479
13982
  /*saveEvent*/
12480
- ctx[8]
13983
+ ctx[10]
12481
13984
  );
12482
13985
  return {
12483
13986
  c() {
@@ -12505,6 +14008,10 @@
12505
14008
  32)
12506
14009
  prompttypein_changes.isResultCorrect = /*isResultCorrect*/
12507
14010
  ctx2[5];
14011
+ if (dirty & /*isPreviewCheckedAnswer*/
14012
+ 64)
14013
+ prompttypein_changes.isPreviewCheckedAnswer = /*isPreviewCheckedAnswer*/
14014
+ ctx2[6];
12508
14015
  prompttypein.$set(prompttypein_changes);
12509
14016
  },
12510
14017
  i(local) {
@@ -12522,7 +14029,7 @@
12522
14029
  }
12523
14030
  };
12524
14031
  }
12525
- function create_if_block_28(ctx) {
14032
+ function create_if_block_29(ctx) {
12526
14033
  let promptmcq;
12527
14034
  let current;
12528
14035
  promptmcq = new PromptMCQ_default({
@@ -12545,14 +14052,14 @@
12545
14052
  ),
12546
14053
  isPreviewModeInteractive: (
12547
14054
  /*isPreviewModeInteractive*/
12548
- ctx[6]
14055
+ ctx[8]
12549
14056
  )
12550
14057
  }
12551
14058
  });
12552
14059
  promptmcq.$on(
12553
14060
  "saveOption",
12554
14061
  /*saveEvent*/
12555
- ctx[8]
14062
+ ctx[10]
12556
14063
  );
12557
14064
  return {
12558
14065
  c() {
@@ -12597,7 +14104,7 @@
12597
14104
  }
12598
14105
  };
12599
14106
  }
12600
- function create_fragment26(ctx) {
14107
+ function create_fragment28(ctx) {
12601
14108
  let current_block_type_index;
12602
14109
  let if_block;
12603
14110
  let t2;
@@ -12605,7 +14112,7 @@
12605
14112
  let link1;
12606
14113
  let link2;
12607
14114
  let current;
12608
- const if_block_creators = [create_if_block10, create_if_block_19, create_else_block_12];
14115
+ const if_block_creators = [create_if_block11, create_if_block_110, create_else_block_12];
12609
14116
  const if_blocks = [];
12610
14117
  function select_block_type(ctx2, dirty) {
12611
14118
  if (
@@ -12689,7 +14196,7 @@
12689
14196
  };
12690
14197
  }
12691
14198
  var bannerLabel = "Invalid session id.";
12692
- function instance13($$self, $$props, $$invalidate) {
14199
+ function instance14($$self, $$props, $$invalidate) {
12693
14200
  const { "session-id": sessionId, "preview-mode": previewMode, "item-id": itemId, "preview-contentful": previewContentful } = $$props;
12694
14201
  const previewModeType = ["true", "interactive"];
12695
14202
  const isPreviewModeInteractive = Boolean(previewMode === "interactive" && itemId);
@@ -12705,6 +14212,7 @@
12705
14212
  let isResultCorrect = false;
12706
14213
  let previewMcqCorrectAnswerId = null;
12707
14214
  let previewTypeinCorrectAnswers = [];
14215
+ let isPreviewCheckedAnswer = false;
12708
14216
  const skipUserValidationStr = get_store_value(skipUserValidation) ? "?skip_user_validation=true" : "";
12709
14217
  const getSessionData = async (sessionId2) => {
12710
14218
  try {
@@ -12764,7 +14272,11 @@
12764
14272
  break;
12765
14273
  case INTERACTION_TYPE_TYPEIN:
12766
14274
  default:
12767
- scoringMetadata = { ...scoringMetadata, answer: answer[0] };
14275
+ const { type } = metadata;
14276
+ scoringMetadata = {
14277
+ ...scoringMetadata,
14278
+ answer: type === TYPEIN_TYPE_INLINE ? answer : answer[0]
14279
+ };
12768
14280
  }
12769
14281
  $$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
12770
14282
  $$invalidate(5, isResultCorrect = scoring.score_earned);
@@ -12799,7 +14311,7 @@
12799
14311
  const { correct_answer: correctAnswer, typein_type: typeinType } = data.interaction;
12800
14312
  scoringMetadata = {
12801
14313
  hasAnswer: true,
12802
- answer: typeinType === TYPEIN_TYPE_SHORT ? correctAnswer[0][0] : correctAnswer[0][0].answer[0]
14314
+ answer: typeinType === TYPEIN_TYPE_SHORT ? correctAnswer[0][0] : typeinType === TYPEIN_TYPE_INLINE ? correctAnswer : correctAnswer[0][0].answer[0]
12803
14315
  };
12804
14316
  $$invalidate(0, sessionData = { ...sessionData, scoringMetadata });
12805
14317
  if (isPreviewModeInteractive) {
@@ -12827,7 +14339,23 @@
12827
14339
  answerList: correctAnswerList
12828
14340
  };
12829
14341
  };
12830
- const updatePreviewData = (data) => {
14342
+ const checkLongTypeinAnswer = async (itemId2, answer) => {
14343
+ let isCorrect = false;
14344
+ try {
14345
+ $$invalidate(2, isDataSaving = true);
14346
+ $$invalidate(6, isPreviewCheckedAnswer = false);
14347
+ const { data } = await usePost(`items/${itemId2}/answer/check`, { answer });
14348
+ const { is_correct: resultIsCorrect } = data;
14349
+ isCorrect = resultIsCorrect;
14350
+ } catch (error) {
14351
+ isCorrect = false;
14352
+ $$invalidate(2, isDataSaving = false);
14353
+ } finally {
14354
+ $$invalidate(2, isDataSaving = false);
14355
+ }
14356
+ return isCorrect;
14357
+ };
14358
+ const updatePreviewData = async (data) => {
12831
14359
  const { scoringMetadata: metadata, interaction } = sessionData;
12832
14360
  let scoringMetadata;
12833
14361
  $$invalidate(4, isFinished = true);
@@ -12840,7 +14368,7 @@
12840
14368
  return;
12841
14369
  case INTERACTION_TYPE_TYPEIN:
12842
14370
  default:
12843
- const { allow_non_macrons_as_correct_answer: allowNonMacrons, ignore_punctuation: ignorePunctuation } = interaction;
14371
+ const { allow_non_macrons_as_correct_answer: allowNonMacrons, ignore_punctuation: ignorePunctuation, typein_type: typeinType } = interaction;
12844
14372
  const { answer } = data;
12845
14373
  let typeinAnswer = answer[0];
12846
14374
  scoringMetadata = { ...metadata, answer: typeinAnswer };
@@ -12851,13 +14379,20 @@
12851
14379
  if (ignorePunctuation) {
12852
14380
  typeinAnswer = useRemovePunctuation(typeinAnswer);
12853
14381
  }
12854
- $$invalidate(5, isResultCorrect = previewTypeinCorrectAnswers.includes(typeinAnswer.toLowerCase().trim().replace(/\s+/g, " ")));
14382
+ if (typeinType === TYPEIN_TYPE_LONG) {
14383
+ $$invalidate(4, isFinished = false);
14384
+ $$invalidate(5, isResultCorrect = await checkLongTypeinAnswer(itemId, typeinAnswer));
14385
+ $$invalidate(6, isPreviewCheckedAnswer = true);
14386
+ $$invalidate(4, isFinished = true);
14387
+ } else {
14388
+ $$invalidate(5, isResultCorrect = previewTypeinCorrectAnswers.includes(typeinAnswer.toLowerCase().trim().replace(/\s+/g, " ")));
14389
+ }
12855
14390
  return;
12856
14391
  }
12857
14392
  };
12858
14393
  const saveEvent = async ({ detail }) => {
12859
14394
  if (isPreviewModeInteractive && isPreviewMode) {
12860
- updatePreviewData(detail);
14395
+ await updatePreviewData(detail);
12861
14396
  }
12862
14397
  if (isLocked || isFinished)
12863
14398
  return;
@@ -12883,7 +14418,7 @@
12883
14418
  getSessionData(sessionId);
12884
14419
  }
12885
14420
  $$self.$$set = ($$new_props) => {
12886
- $$invalidate(27, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
14421
+ $$invalidate(29, $$props = assign(assign({}, $$props), exclude_internal_props($$new_props)));
12887
14422
  };
12888
14423
  $$props = exclude_internal_props($$props);
12889
14424
  return [
@@ -12893,6 +14428,8 @@
12893
14428
  interactionType,
12894
14429
  isFinished,
12895
14430
  isResultCorrect,
14431
+ isPreviewCheckedAnswer,
14432
+ sessionId,
12896
14433
  isPreviewModeInteractive,
12897
14434
  isPreviewMode,
12898
14435
  saveEvent
@@ -12901,7 +14438,7 @@
12901
14438
  var PromptBuilder = class extends SvelteComponent {
12902
14439
  constructor(options) {
12903
14440
  super();
12904
- init(this, options, instance13, create_fragment26, safe_not_equal, {}, add_css2);
14441
+ init(this, options, instance14, create_fragment28, safe_not_equal, {}, add_css2);
12905
14442
  }
12906
14443
  };
12907
14444
  customElements.define("prompt-builder", create_custom_element(PromptBuilder, {}, [], [], true));