@pie-players/pie-assessment-toolkit 0.3.57 → 0.3.59

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.
@@ -4316,12 +4316,18 @@ function create_custom_element(Component, props_definition, slots, exports, shad
4316
4316
  import { ContextConsumer } from "@pie-players/pie-context";
4317
4317
  import { createContext as createContext2 } from "@pie-players/pie-context";
4318
4318
  import { sanitizeSvgIcon } from "@pie-players/pie-players-shared/security";
4319
+ import {
4320
+ approximateZoomFromWidths,
4321
+ computeZoomCompensation,
4322
+ ICON_BUTTON_ZOOM_OPTIONS
4323
+ } from "@pie-players/pie-players-shared/ui/zoom-compensation";
4319
4324
  import {
4320
4325
  createFocusTrap,
4321
4326
  FOCUSABLE_SELECTOR,
4322
4327
  isProgrammaticFocusTarget
4323
4328
  } from "@pie-players/pie-players-shared";
4324
4329
  import { validateCustomElementTag } from "@pie-players/pie-players-shared/pie/tag-names";
4330
+ import"@pie-players/pie-players-shared/nds-icon-button";
4325
4331
  var PUBLIC_VERSION2 = "5";
4326
4332
  if (typeof window !== "undefined") {
4327
4333
  ((window.__svelte ??= {}).v ??= new Set).add(PUBLIC_VERSION2);
@@ -8311,6 +8317,23 @@ function if_block2(node, fn, elseif = false) {
8311
8317
  }, flags22);
8312
8318
  }
8313
8319
  var NAN2 = Symbol("NaN");
8320
+ function key2(node, get_key, render_fn) {
8321
+ if (hydrating2) {
8322
+ hydrate_next2();
8323
+ }
8324
+ var branches = new BranchManager2(node);
8325
+ var legacy = !is_runes2();
8326
+ block2(() => {
8327
+ var key22 = get_key();
8328
+ if (key22 !== key22) {
8329
+ key22 = NAN2;
8330
+ }
8331
+ if (legacy && key22 !== null && typeof key22 === "object") {
8332
+ key22 = {};
8333
+ }
8334
+ branches.ensure(key22, render_fn);
8335
+ });
8336
+ }
8314
8337
  function pause_effects(state22, to_destroy, controlled_anchor) {
8315
8338
  var transitions = [];
8316
8339
  var length = to_destroy.length;
@@ -8358,8 +8381,8 @@ function destroy_effects(state22, to_destroy, remove_dom = true) {
8358
8381
  if (state22.pending.size > 0) {
8359
8382
  preserved_effects = new Set;
8360
8383
  for (const keys of state22.pending.values()) {
8361
- for (const key2 of keys) {
8362
- preserved_effects.add(state22.items.get(key2).e);
8384
+ for (const key22 of keys) {
8385
+ preserved_effects.add(state22.items.get(key22).e);
8363
8386
  }
8364
8387
  }
8365
8388
  }
@@ -8445,14 +8468,14 @@ function each2(node, flags22, get_collection, get_key, render_fn, fallback_fn =
8445
8468
  set_hydrating2(false);
8446
8469
  }
8447
8470
  var value = array[index2];
8448
- var key2 = get_key(value, index2);
8471
+ var key22 = get_key(value, index2);
8449
8472
  if (true_default2) {
8450
8473
  var key_again = get_key(value, index2);
8451
- if (key2 !== key_again) {
8452
- each_key_volatile2(String(index2), String(key2), String(key_again));
8474
+ if (key22 !== key_again) {
8475
+ each_key_volatile2(String(index2), String(key22), String(key_again));
8453
8476
  }
8454
8477
  }
8455
- var item = first_run ? null : items.get(key2);
8478
+ var item = first_run ? null : items.get(key22);
8456
8479
  if (item) {
8457
8480
  if (item.v)
8458
8481
  internal_set2(item.v, value);
@@ -8462,13 +8485,13 @@ function each2(node, flags22, get_collection, get_key, render_fn, fallback_fn =
8462
8485
  batch.unskip_effect(item.e);
8463
8486
  }
8464
8487
  } else {
8465
- item = create_item(items, first_run ? anchor : offscreen_anchor ??= create_text2(), value, key2, index2, render_fn, flags22, get_collection);
8488
+ item = create_item(items, first_run ? anchor : offscreen_anchor ??= create_text2(), value, key22, index2, render_fn, flags22, get_collection);
8466
8489
  if (!first_run) {
8467
8490
  item.e.f |= EFFECT_OFFSCREEN2;
8468
8491
  }
8469
- items.set(key2, item);
8492
+ items.set(key22, item);
8470
8493
  }
8471
- keys.add(key2);
8494
+ keys.add(key22);
8472
8495
  }
8473
8496
  if (length === 0 && fallback_fn && !fallback2) {
8474
8497
  if (first_run) {
@@ -8491,8 +8514,8 @@ function each2(node, flags22, get_collection, get_key, render_fn, fallback_fn =
8491
8514
  if (!first_run) {
8492
8515
  pending3.set(batch, keys);
8493
8516
  if (defer) {
8494
- for (const [key22, item2] of items) {
8495
- if (!keys.has(key22)) {
8517
+ for (const [key3, item2] of items) {
8518
+ if (!keys.has(key3)) {
8496
8519
  batch.skip_effect(item2.e);
8497
8520
  }
8498
8521
  }
@@ -8530,14 +8553,14 @@ function reconcile(state22, array, anchor, flags22, get_key) {
8530
8553
  var matched = [];
8531
8554
  var stashed = [];
8532
8555
  var value;
8533
- var key2;
8556
+ var key22;
8534
8557
  var effect22;
8535
8558
  var i;
8536
8559
  if (is_animated) {
8537
8560
  for (i = 0;i < length; i += 1) {
8538
8561
  value = array[i];
8539
- key2 = get_key(value, i);
8540
- effect22 = items.get(key2).e;
8562
+ key22 = get_key(value, i);
8563
+ effect22 = items.get(key22).e;
8541
8564
  if ((effect22.f & EFFECT_OFFSCREEN2) === 0) {
8542
8565
  effect22.nodes?.a?.measure();
8543
8566
  (to_animate ??= new Set).add(effect22);
@@ -8546,8 +8569,8 @@ function reconcile(state22, array, anchor, flags22, get_key) {
8546
8569
  }
8547
8570
  for (i = 0;i < length; i += 1) {
8548
8571
  value = array[i];
8549
- key2 = get_key(value, i);
8550
- effect22 = items.get(key2).e;
8572
+ key22 = get_key(value, i);
8573
+ effect22 = items.get(key22).e;
8551
8574
  if (state22.outrogroups !== null) {
8552
8575
  for (const group of state22.outrogroups) {
8553
8576
  group.pending.delete(effect22);
@@ -8683,7 +8706,7 @@ function reconcile(state22, array, anchor, flags22, get_key) {
8683
8706
  });
8684
8707
  }
8685
8708
  }
8686
- function create_item(items, anchor, value, key2, index2, render_fn, flags22, get_collection) {
8709
+ function create_item(items, anchor, value, key22, index2, render_fn, flags22, get_collection) {
8687
8710
  var v = (flags22 & EACH_ITEM_REACTIVE2) !== 0 ? (flags22 & EACH_ITEM_IMMUTABLE2) === 0 ? mutable_source2(value, false, false) : source2(value) : null;
8688
8711
  var i = (flags22 & EACH_INDEX_REACTIVE2) !== 0 ? source2(index2) : null;
8689
8712
  if (true_default2 && v) {
@@ -8697,7 +8720,7 @@ function create_item(items, anchor, value, key2, index2, render_fn, flags22, get
8697
8720
  e: branch2(() => {
8698
8721
  render_fn(anchor, v ?? value, i ?? index2, get_collection);
8699
8722
  return () => {
8700
- items.delete(key2);
8723
+ items.delete(key22);
8701
8724
  };
8702
8725
  })
8703
8726
  };
@@ -8733,16 +8756,16 @@ function validate_each_keys(array, key_fn) {
8733
8756
  const keys = new Map;
8734
8757
  const length = array.length;
8735
8758
  for (let i = 0;i < length; i++) {
8736
- const key2 = key_fn(array[i], i);
8737
- if (keys.has(key2)) {
8738
- const a = String(keys.get(key2));
8759
+ const key22 = key_fn(array[i], i);
8760
+ if (keys.has(key22)) {
8761
+ const a = String(keys.get(key22));
8739
8762
  const b = String(i);
8740
- let k = String(key2);
8763
+ let k = String(key22);
8741
8764
  if (k.startsWith("[object "))
8742
8765
  k = null;
8743
8766
  each_key_duplicate2(a, b, k);
8744
8767
  }
8745
- keys.set(key2, i);
8768
+ keys.set(key22, i);
8746
8769
  }
8747
8770
  }
8748
8771
  function check_hash(element2, server_hash, value) {
@@ -8876,13 +8899,13 @@ function to_class2(value, hash22, directives) {
8876
8899
  classname = classname ? classname + " " + hash22 : hash22;
8877
8900
  }
8878
8901
  if (directives) {
8879
- for (var key2 of Object.keys(directives)) {
8880
- if (directives[key2]) {
8881
- classname = classname ? classname + " " + key2 : key2;
8902
+ for (var key22 of Object.keys(directives)) {
8903
+ if (directives[key22]) {
8904
+ classname = classname ? classname + " " + key22 : key22;
8882
8905
  } else if (classname.length) {
8883
- var len = key2.length;
8906
+ var len = key22.length;
8884
8907
  var a = 0;
8885
- while ((a = classname.indexOf(key2, a)) >= 0) {
8908
+ while ((a = classname.indexOf(key22, a)) >= 0) {
8886
8909
  var b = a + len;
8887
8910
  if ((a === 0 || whitespace2.includes(classname[a - 1])) && (b === classname.length || whitespace2.includes(classname[b]))) {
8888
8911
  classname = (a === 0 ? "" : classname.substring(0, a)) + classname.substring(b + 1);
@@ -8895,6 +8918,99 @@ function to_class2(value, hash22, directives) {
8895
8918
  }
8896
8919
  return classname === "" ? null : classname;
8897
8920
  }
8921
+ function append_styles22(styles, important = false) {
8922
+ var separator = important ? " !important;" : ";";
8923
+ var css = "";
8924
+ for (var key22 of Object.keys(styles)) {
8925
+ var value = styles[key22];
8926
+ if (value != null && value !== "") {
8927
+ css += " " + key22 + ": " + value + separator;
8928
+ }
8929
+ }
8930
+ return css;
8931
+ }
8932
+ function to_css_name(name) {
8933
+ if (name[0] !== "-" || name[1] !== "-") {
8934
+ return name.toLowerCase();
8935
+ }
8936
+ return name;
8937
+ }
8938
+ function to_style2(value, styles) {
8939
+ if (styles) {
8940
+ var new_style = "";
8941
+ var normal_styles;
8942
+ var important_styles;
8943
+ if (Array.isArray(styles)) {
8944
+ normal_styles = styles[0];
8945
+ important_styles = styles[1];
8946
+ } else {
8947
+ normal_styles = styles;
8948
+ }
8949
+ if (value) {
8950
+ value = String(value).replaceAll(/\s*\/\*.*?\*\/\s*/g, "").trim();
8951
+ var in_str = false;
8952
+ var in_apo = 0;
8953
+ var in_comment = false;
8954
+ var reserved_names = [];
8955
+ if (normal_styles) {
8956
+ reserved_names.push(...Object.keys(normal_styles).map(to_css_name));
8957
+ }
8958
+ if (important_styles) {
8959
+ reserved_names.push(...Object.keys(important_styles).map(to_css_name));
8960
+ }
8961
+ var start_index = 0;
8962
+ var name_index = -1;
8963
+ const len = value.length;
8964
+ for (var i = 0;i < len; i++) {
8965
+ var c = value[i];
8966
+ if (in_comment) {
8967
+ if (c === "/" && value[i - 1] === "*") {
8968
+ in_comment = false;
8969
+ }
8970
+ } else if (in_str) {
8971
+ if (in_str === c) {
8972
+ in_str = false;
8973
+ }
8974
+ } else if (c === "/" && value[i + 1] === "*") {
8975
+ in_comment = true;
8976
+ } else if (c === '"' || c === "'") {
8977
+ in_str = c;
8978
+ } else if (c === "(") {
8979
+ in_apo++;
8980
+ } else if (c === ")") {
8981
+ in_apo--;
8982
+ }
8983
+ if (!in_comment && in_str === false && in_apo === 0) {
8984
+ if (c === ":" && name_index === -1) {
8985
+ name_index = i;
8986
+ } else if (c === ";" || i === len - 1) {
8987
+ if (name_index !== -1) {
8988
+ var name = to_css_name(value.substring(start_index, name_index).trim());
8989
+ if (!reserved_names.includes(name)) {
8990
+ if (c !== ";") {
8991
+ i++;
8992
+ }
8993
+ var property = value.substring(start_index, i).trim();
8994
+ new_style += " " + property + ";";
8995
+ }
8996
+ }
8997
+ start_index = i + 1;
8998
+ name_index = -1;
8999
+ }
9000
+ }
9001
+ }
9002
+ }
9003
+ if (normal_styles) {
9004
+ new_style += append_styles22(normal_styles);
9005
+ }
9006
+ if (important_styles) {
9007
+ new_style += append_styles22(important_styles, true);
9008
+ }
9009
+ new_style = new_style.trim();
9010
+ return new_style === "" ? null : new_style;
9011
+ }
9012
+ return value == null ? null : String(value);
9013
+ }
8898
9014
  function set_class2(dom, is_html, value, hash22, prev_classes, next_classes) {
8899
9015
  var prev = dom[CLASS_CACHE2];
8900
9016
  if (hydrating2 || prev !== value || prev === undefined) {
@@ -8910,15 +9026,49 @@ function set_class2(dom, is_html, value, hash22, prev_classes, next_classes) {
8910
9026
  }
8911
9027
  dom[CLASS_CACHE2] = value;
8912
9028
  } else if (next_classes && prev_classes !== next_classes) {
8913
- for (var key2 in next_classes) {
8914
- var is_present = !!next_classes[key2];
8915
- if (prev_classes == null || is_present !== !!prev_classes[key2]) {
8916
- dom.classList.toggle(key2, is_present);
9029
+ for (var key22 in next_classes) {
9030
+ var is_present = !!next_classes[key22];
9031
+ if (prev_classes == null || is_present !== !!prev_classes[key22]) {
9032
+ dom.classList.toggle(key22, is_present);
8917
9033
  }
8918
9034
  }
8919
9035
  }
8920
9036
  return next_classes;
8921
9037
  }
9038
+ function update_styles(dom, prev = {}, next22, priority) {
9039
+ for (var key22 in next22) {
9040
+ var value = next22[key22];
9041
+ if (prev[key22] !== value) {
9042
+ if (next22[key22] == null) {
9043
+ dom.style.removeProperty(key22);
9044
+ } else {
9045
+ dom.style.setProperty(key22, value, priority);
9046
+ }
9047
+ }
9048
+ }
9049
+ }
9050
+ function set_style2(dom, value, prev_styles, next_styles) {
9051
+ var prev = dom[STYLE_CACHE2];
9052
+ if (hydrating2 || prev !== value) {
9053
+ var next_style_attr = to_style2(value, next_styles);
9054
+ if (!hydrating2 || next_style_attr !== dom.getAttribute("style")) {
9055
+ if (next_style_attr == null) {
9056
+ dom.removeAttribute("style");
9057
+ } else {
9058
+ dom.style.cssText = next_style_attr;
9059
+ }
9060
+ }
9061
+ dom[STYLE_CACHE2] = value;
9062
+ } else if (next_styles) {
9063
+ if (Array.isArray(next_styles)) {
9064
+ update_styles(dom, prev_styles?.[0], next_styles[0]);
9065
+ update_styles(dom, prev_styles?.[1], next_styles[1], "important");
9066
+ } else {
9067
+ update_styles(dom, prev_styles, next_styles);
9068
+ }
9069
+ }
9070
+ return next_styles;
9071
+ }
8922
9072
  var CLASS2 = Symbol("class");
8923
9073
  var STYLE2 = Symbol("style");
8924
9074
  var IS_CUSTOM_ELEMENT2 = Symbol("is custom element");
@@ -8948,6 +9098,29 @@ function set_attribute22(element2, attribute, value, skip_warning) {
8948
9098
  element2.setAttribute(attribute, value);
8949
9099
  }
8950
9100
  }
9101
+ function set_custom_element_data2(node, prop2, value) {
9102
+ var previous_reaction = active_reaction2;
9103
+ var previous_effect = active_effect2;
9104
+ let was_hydrating = hydrating2;
9105
+ if (hydrating2) {
9106
+ set_hydrating2(false);
9107
+ }
9108
+ set_active_reaction2(null);
9109
+ set_active_effect2(null);
9110
+ try {
9111
+ if (prop2 !== "style" && (setters_cache2.has(node.getAttribute("is") || node.nodeName) || !customElements || customElements.get(node.getAttribute("is") || node.nodeName.toLowerCase()) ? get_setters2(node).includes(prop2) : value && typeof value === "object")) {
9112
+ node[prop2] = value;
9113
+ } else {
9114
+ set_attribute22(node, prop2, value == null ? value : String(value));
9115
+ }
9116
+ } finally {
9117
+ set_active_reaction2(previous_reaction);
9118
+ set_active_effect2(previous_effect);
9119
+ if (was_hydrating) {
9120
+ set_hydrating2(true);
9121
+ }
9122
+ }
9123
+ }
8951
9124
  function get_attributes2(element2) {
8952
9125
  return element2[ATTRIBUTES_CACHE2] ??= {
8953
9126
  [IS_CUSTOM_ELEMENT2]: element2.nodeName.includes("-"),
@@ -8966,9 +9139,9 @@ function get_setters2(element2) {
8966
9139
  var element_proto = Element.prototype;
8967
9140
  while (element_proto !== proto) {
8968
9141
  descriptors = get_descriptors2(proto);
8969
- for (var key2 in descriptors) {
8970
- if (descriptors[key2].set && key2 !== "innerHTML" && key2 !== "textContent" && key2 !== "innerText") {
8971
- setters.push(key2);
9142
+ for (var key22 in descriptors) {
9143
+ if (descriptors[key22].set && key22 !== "innerHTML" && key22 !== "textContent" && key22 !== "innerText") {
9144
+ setters.push(key22);
8972
9145
  }
8973
9146
  }
8974
9147
  proto = get_prototype_of2(proto);
@@ -9072,7 +9245,7 @@ function bind_this2(element_or_component = {}, update2, get_value, get_parts) {
9072
9245
  });
9073
9246
  return element_or_component;
9074
9247
  }
9075
- function prop2(props, key2, flags22, fallback2) {
9248
+ function prop2(props, key22, flags22, fallback2) {
9076
9249
  var runes = !legacy_mode_flag2 || (flags22 & PROPS_IS_RUNES2) !== 0;
9077
9250
  var bindable = (flags22 & PROPS_IS_BINDABLE2) !== 0;
9078
9251
  var lazy = (flags22 & PROPS_IS_LAZY_INITIAL2) !== 0;
@@ -9093,27 +9266,27 @@ function prop2(props, key2, flags22, fallback2) {
9093
9266
  let setter;
9094
9267
  if (bindable) {
9095
9268
  var is_entry_props = STATE_SYMBOL2 in props || LEGACY_PROPS2 in props;
9096
- setter = get_descriptor2(props, key2)?.set ?? (is_entry_props && key2 in props ? (v) => props[key2] = v : undefined);
9269
+ setter = get_descriptor2(props, key22)?.set ?? (is_entry_props && key22 in props ? (v) => props[key22] = v : undefined);
9097
9270
  }
9098
9271
  var initial_value;
9099
9272
  var is_store_sub = false;
9100
9273
  if (bindable) {
9101
- [initial_value, is_store_sub] = capture_store_binding2(() => props[key2]);
9274
+ [initial_value, is_store_sub] = capture_store_binding2(() => props[key22]);
9102
9275
  } else {
9103
- initial_value = props[key2];
9276
+ initial_value = props[key22];
9104
9277
  }
9105
9278
  if (initial_value === undefined && fallback2 !== undefined) {
9106
9279
  initial_value = get_fallback();
9107
9280
  if (setter) {
9108
9281
  if (runes)
9109
- props_invalid_value2(key2);
9282
+ props_invalid_value2(key22);
9110
9283
  setter(initial_value);
9111
9284
  }
9112
9285
  }
9113
9286
  var getter;
9114
9287
  if (runes) {
9115
9288
  getter = () => {
9116
- var value = props[key2];
9289
+ var value = props[key22];
9117
9290
  if (value === undefined)
9118
9291
  return get_fallback();
9119
9292
  fallback_dirty = true;
@@ -9121,7 +9294,7 @@ function prop2(props, key2, flags22, fallback2) {
9121
9294
  };
9122
9295
  } else {
9123
9296
  getter = () => {
9124
- var value = props[key2];
9297
+ var value = props[key22];
9125
9298
  if (value !== undefined) {
9126
9299
  fallback_value = undefined;
9127
9300
  }
@@ -9149,7 +9322,7 @@ function prop2(props, key2, flags22, fallback2) {
9149
9322
  return getter();
9150
9323
  });
9151
9324
  if (true_default2) {
9152
- d.label = key2;
9325
+ d.label = key22;
9153
9326
  }
9154
9327
  if (bindable)
9155
9328
  get22(d);
@@ -9179,9 +9352,9 @@ class Svelte4Component2 {
9179
9352
  #instance;
9180
9353
  constructor(options) {
9181
9354
  var sources = new Map;
9182
- var add_source = (key2, value) => {
9355
+ var add_source = (key22, value) => {
9183
9356
  var s = mutable_source2(value, false, false);
9184
- sources.set(key2, s);
9357
+ sources.set(key22, s);
9185
9358
  return s;
9186
9359
  };
9187
9360
  const props = new Proxy({ ...options.props || {}, $$events: {} }, {
@@ -9212,15 +9385,15 @@ class Svelte4Component2 {
9212
9385
  flushSync2();
9213
9386
  }
9214
9387
  this.#events = props.$$events;
9215
- for (const key2 of Object.keys(this.#instance)) {
9216
- if (key2 === "$set" || key2 === "$destroy" || key2 === "$on")
9388
+ for (const key22 of Object.keys(this.#instance)) {
9389
+ if (key22 === "$set" || key22 === "$destroy" || key22 === "$on")
9217
9390
  continue;
9218
- define_property2(this, key2, {
9391
+ define_property2(this, key22, {
9219
9392
  get() {
9220
- return this.#instance[key2];
9393
+ return this.#instance[key22];
9221
9394
  },
9222
9395
  set(value) {
9223
- this.#instance[key2] = value;
9396
+ this.#instance[key22] = value;
9224
9397
  },
9225
9398
  enumerable: true
9226
9399
  });
@@ -9321,10 +9494,10 @@ if (typeof HTMLElement === "function") {
9321
9494
  this.$$d[name] = get_custom_element_value2(name, attribute.value, this.$$p_d, "toProp");
9322
9495
  }
9323
9496
  }
9324
- for (const key2 in this.$$p_d) {
9325
- if (!(key2 in this.$$d) && this[key2] !== undefined) {
9326
- this.$$d[key2] = this[key2];
9327
- delete this[key2];
9497
+ for (const key22 in this.$$p_d) {
9498
+ if (!(key22 in this.$$d) && this[key22] !== undefined) {
9499
+ this.$$d[key22] = this[key22];
9500
+ delete this[key22];
9328
9501
  }
9329
9502
  }
9330
9503
  this.$$c = createClassComponent2({
@@ -9339,15 +9512,15 @@ if (typeof HTMLElement === "function") {
9339
9512
  this.$$me = effect_root2(() => {
9340
9513
  render_effect2(() => {
9341
9514
  this.$$r = true;
9342
- for (const key2 of object_keys2(this.$$c)) {
9343
- if (!this.$$p_d[key2]?.reflect)
9515
+ for (const key22 of object_keys2(this.$$c)) {
9516
+ if (!this.$$p_d[key22]?.reflect)
9344
9517
  continue;
9345
- this.$$d[key2] = this.$$c[key2];
9346
- const attribute_value = get_custom_element_value2(key2, this.$$d[key2], this.$$p_d, "toAttribute");
9518
+ this.$$d[key22] = this.$$c[key22];
9519
+ const attribute_value = get_custom_element_value2(key22, this.$$d[key22], this.$$p_d, "toAttribute");
9347
9520
  if (attribute_value == null) {
9348
- this.removeAttribute(this.$$p_d[key2].attribute || key2);
9521
+ this.removeAttribute(this.$$p_d[key22].attribute || key22);
9349
9522
  } else {
9350
- this.setAttribute(this.$$p_d[key2].attribute || key2, attribute_value);
9523
+ this.setAttribute(this.$$p_d[key22].attribute || key22, attribute_value);
9351
9524
  }
9352
9525
  }
9353
9526
  this.$$r = false;
@@ -9380,7 +9553,7 @@ if (typeof HTMLElement === "function") {
9380
9553
  });
9381
9554
  }
9382
9555
  $$g_p(attribute_name) {
9383
- return object_keys2(this.$$p_d).find((key2) => this.$$p_d[key2].attribute === attribute_name || !this.$$p_d[key2].attribute && key2.toLowerCase() === attribute_name) || attribute_name;
9556
+ return object_keys2(this.$$p_d).find((key22) => this.$$p_d[key22].attribute === attribute_name || !this.$$p_d[key22].attribute && key22.toLowerCase() === attribute_name) || attribute_name;
9384
9557
  }
9385
9558
  };
9386
9559
  }
@@ -9429,7 +9602,7 @@ function create_custom_element2(Component, props_definition, slots, exports, sha
9429
9602
  this.$$p_d = props_definition;
9430
9603
  }
9431
9604
  static get observedAttributes() {
9432
- return object_keys2(props_definition).map((key2) => (props_definition[key2].attribute || key2).toLowerCase());
9605
+ return object_keys2(props_definition).map((key22) => (props_definition[key22].attribute || key22).toLowerCase());
9433
9606
  }
9434
9607
  };
9435
9608
  object_keys2(props_definition).forEach((prop22) => {
@@ -11973,877 +12146,6 @@ function createPackagedToolRegistry(options = {}) {
11973
12146
  includePackagedTools: true
11974
12147
  });
11975
12148
  }
11976
- var H = globalThis;
11977
- var D = H.ShadowRoot && (H.ShadyCSS === undefined || H.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype;
11978
- var tt = Symbol();
11979
- var W = /* @__PURE__ */ new WeakMap;
11980
- var nt = class {
11981
- constructor(t, e, s) {
11982
- if (this._$cssResult$ = true, s !== tt)
11983
- throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
11984
- this.cssText = t, this.t = e;
11985
- }
11986
- get styleSheet() {
11987
- let t = this.o;
11988
- const e = this.t;
11989
- if (D && t === undefined) {
11990
- const s = e !== undefined && e.length === 1;
11991
- s && (t = W.get(e)), t === undefined && ((this.o = t = new CSSStyleSheet).replaceSync(this.cssText), s && W.set(e, t));
11992
- }
11993
- return t;
11994
- }
11995
- toString() {
11996
- return this.cssText;
11997
- }
11998
- };
11999
- var rt = (o) => new nt(typeof o == "string" ? o : o + "", undefined, tt);
12000
- var at = (o, t) => {
12001
- if (D)
12002
- o.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
12003
- else
12004
- for (const e of t) {
12005
- const s = document.createElement("style"), i = H.litNonce;
12006
- i !== undefined && s.setAttribute("nonce", i), s.textContent = e.cssText, o.appendChild(s);
12007
- }
12008
- };
12009
- var V = D ? (o) => o : (o) => o instanceof CSSStyleSheet ? ((t) => {
12010
- let e = "";
12011
- for (const s of t.cssRules)
12012
- e += s.cssText;
12013
- return rt(e);
12014
- })(o) : o;
12015
- var { is: ht, defineProperty: ct, getOwnPropertyDescriptor: lt, getOwnPropertyNames: dt, getOwnPropertySymbols: ut, getPrototypeOf: pt } = Object;
12016
- var R = globalThis;
12017
- var F = R.trustedTypes;
12018
- var ft = F ? F.emptyScript : "";
12019
- var bt = R.reactiveElementPolyfillSupport;
12020
- var S = (o, t) => o;
12021
- var N = { toAttribute(o, t) {
12022
- switch (t) {
12023
- case Boolean:
12024
- o = o ? ft : null;
12025
- break;
12026
- case Object:
12027
- case Array:
12028
- o = o == null ? o : JSON.stringify(o);
12029
- }
12030
- return o;
12031
- }, fromAttribute(o, t) {
12032
- let e = o;
12033
- switch (t) {
12034
- case Boolean:
12035
- e = o !== null;
12036
- break;
12037
- case Number:
12038
- e = o === null ? null : Number(o);
12039
- break;
12040
- case Object:
12041
- case Array:
12042
- try {
12043
- e = JSON.parse(o);
12044
- } catch {
12045
- e = null;
12046
- }
12047
- }
12048
- return e;
12049
- } };
12050
- var L = (o, t) => !ht(o, t);
12051
- var J = { attribute: true, type: String, converter: N, reflect: false, useDefault: false, hasChanged: L };
12052
- Symbol.metadata ??= Symbol("metadata"), R.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap;
12053
- var A = class extends HTMLElement {
12054
- static addInitializer(t) {
12055
- this._$Ei(), (this.l ??= []).push(t);
12056
- }
12057
- static get observedAttributes() {
12058
- return this.finalize(), this._$Eh && [...this._$Eh.keys()];
12059
- }
12060
- static createProperty(t, e = J) {
12061
- if (e.state && (e.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = true), this.elementProperties.set(t, e), !e.noAccessor) {
12062
- const s = Symbol(), i = this.getPropertyDescriptor(t, s, e);
12063
- i !== undefined && ct(this.prototype, t, i);
12064
- }
12065
- }
12066
- static getPropertyDescriptor(t, e, s) {
12067
- const { get: i, set: n } = lt(this.prototype, t) ?? { get() {
12068
- return this[e];
12069
- }, set(r) {
12070
- this[e] = r;
12071
- } };
12072
- return { get: i, set(r) {
12073
- const h = i?.call(this);
12074
- n?.call(this, r), this.requestUpdate(t, h, s);
12075
- }, configurable: true, enumerable: true };
12076
- }
12077
- static getPropertyOptions(t) {
12078
- return this.elementProperties.get(t) ?? J;
12079
- }
12080
- static _$Ei() {
12081
- if (this.hasOwnProperty(S("elementProperties")))
12082
- return;
12083
- const t = pt(this);
12084
- t.finalize(), t.l !== undefined && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
12085
- }
12086
- static finalize() {
12087
- if (this.hasOwnProperty(S("finalized")))
12088
- return;
12089
- if (this.finalized = true, this._$Ei(), this.hasOwnProperty(S("properties"))) {
12090
- const e = this.properties, s = [...dt(e), ...ut(e)];
12091
- for (const i of s)
12092
- this.createProperty(i, e[i]);
12093
- }
12094
- const t = this[Symbol.metadata];
12095
- if (t !== null) {
12096
- const e = litPropertyMetadata.get(t);
12097
- if (e !== undefined)
12098
- for (const [s, i] of e)
12099
- this.elementProperties.set(s, i);
12100
- }
12101
- this._$Eh = /* @__PURE__ */ new Map;
12102
- for (const [e, s] of this.elementProperties) {
12103
- const i = this._$Eu(e, s);
12104
- i !== undefined && this._$Eh.set(i, e);
12105
- }
12106
- this.elementStyles = this.finalizeStyles(this.styles);
12107
- }
12108
- static finalizeStyles(t) {
12109
- const e = [];
12110
- if (Array.isArray(t)) {
12111
- const s = new Set(t.flat(Infinity).reverse());
12112
- for (const i of s)
12113
- e.unshift(V(i));
12114
- } else
12115
- t !== undefined && e.push(V(t));
12116
- return e;
12117
- }
12118
- static _$Eu(t, e) {
12119
- const s = e.attribute;
12120
- return s === false ? undefined : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : undefined;
12121
- }
12122
- constructor() {
12123
- super(), this._$Ep = undefined, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
12124
- }
12125
- _$Ev() {
12126
- this._$ES = new Promise((t) => this.enableUpdating = t), this._$AL = /* @__PURE__ */ new Map, this._$E_(), this.requestUpdate(), this.constructor.l?.forEach((t) => t(this));
12127
- }
12128
- addController(t) {
12129
- (this._$EO ??= /* @__PURE__ */ new Set).add(t), this.renderRoot !== undefined && this.isConnected && t.hostConnected?.();
12130
- }
12131
- removeController(t) {
12132
- this._$EO?.delete(t);
12133
- }
12134
- _$E_() {
12135
- const t = /* @__PURE__ */ new Map, e = this.constructor.elementProperties;
12136
- for (const s of e.keys())
12137
- this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
12138
- t.size > 0 && (this._$Ep = t);
12139
- }
12140
- createRenderRoot() {
12141
- const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
12142
- return at(t, this.constructor.elementStyles), t;
12143
- }
12144
- connectedCallback() {
12145
- this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach((t) => t.hostConnected?.());
12146
- }
12147
- enableUpdating(t) {}
12148
- disconnectedCallback() {
12149
- this._$EO?.forEach((t) => t.hostDisconnected?.());
12150
- }
12151
- attributeChangedCallback(t, e, s) {
12152
- this._$AK(t, s);
12153
- }
12154
- _$ET(t, e) {
12155
- const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
12156
- if (i !== undefined && s.reflect === true) {
12157
- const n = (s.converter?.toAttribute !== undefined ? s.converter : N).toAttribute(e, s.type);
12158
- this._$Em = t, n == null ? this.removeAttribute(i) : this.setAttribute(i, n), this._$Em = null;
12159
- }
12160
- }
12161
- _$AK(t, e) {
12162
- const s = this.constructor, i = s._$Eh.get(t);
12163
- if (i !== undefined && this._$Em !== i) {
12164
- const n = s.getPropertyOptions(i), r = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== undefined ? n.converter : N;
12165
- this._$Em = i;
12166
- const h = r.fromAttribute(e, n.type);
12167
- this[i] = h ?? this._$Ej?.get(i) ?? h, this._$Em = null;
12168
- }
12169
- }
12170
- requestUpdate(t, e, s) {
12171
- if (t !== undefined) {
12172
- const i = this.constructor, n = this[t];
12173
- if (s ??= i.getPropertyOptions(t), !((s.hasChanged ?? L)(n, e) || s.useDefault && s.reflect && n === this._$Ej?.get(t) && !this.hasAttribute(i._$Eu(t, s))))
12174
- return;
12175
- this.C(t, e, s);
12176
- }
12177
- this.isUpdatePending === false && (this._$ES = this._$EP());
12178
- }
12179
- C(t, e, { useDefault: s, reflect: i, wrapped: n }, r) {
12180
- s && !(this._$Ej ??= /* @__PURE__ */ new Map).has(t) && (this._$Ej.set(t, r ?? e ?? this[t]), n !== true || r !== undefined) || (this._$AL.has(t) || (this.hasUpdated || s || (e = undefined), this._$AL.set(t, e)), i === true && this._$Em !== t && (this._$Eq ??= /* @__PURE__ */ new Set).add(t));
12181
- }
12182
- async _$EP() {
12183
- this.isUpdatePending = true;
12184
- try {
12185
- await this._$ES;
12186
- } catch (e) {
12187
- Promise.reject(e);
12188
- }
12189
- const t = this.scheduleUpdate();
12190
- return t != null && await t, !this.isUpdatePending;
12191
- }
12192
- scheduleUpdate() {
12193
- return this.performUpdate();
12194
- }
12195
- performUpdate() {
12196
- if (!this.isUpdatePending)
12197
- return;
12198
- if (!this.hasUpdated) {
12199
- if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
12200
- for (const [i, n] of this._$Ep)
12201
- this[i] = n;
12202
- this._$Ep = undefined;
12203
- }
12204
- const s = this.constructor.elementProperties;
12205
- if (s.size > 0)
12206
- for (const [i, n] of s) {
12207
- const { wrapped: r } = n, h = this[i];
12208
- r !== true || this._$AL.has(i) || h === undefined || this.C(i, undefined, n, h);
12209
- }
12210
- }
12211
- let t = false;
12212
- const e = this._$AL;
12213
- try {
12214
- t = this.shouldUpdate(e), t ? (this.willUpdate(e), this._$EO?.forEach((s) => s.hostUpdate?.()), this.update(e)) : this._$EM();
12215
- } catch (s) {
12216
- throw t = false, this._$EM(), s;
12217
- }
12218
- t && this._$AE(e);
12219
- }
12220
- willUpdate(t) {}
12221
- _$AE(t) {
12222
- this._$EO?.forEach((e) => e.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t)), this.updated(t);
12223
- }
12224
- _$EM() {
12225
- this._$AL = /* @__PURE__ */ new Map, this.isUpdatePending = false;
12226
- }
12227
- get updateComplete() {
12228
- return this.getUpdateComplete();
12229
- }
12230
- getUpdateComplete() {
12231
- return this._$ES;
12232
- }
12233
- shouldUpdate(t) {
12234
- return true;
12235
- }
12236
- update(t) {
12237
- this._$Eq &&= this._$Eq.forEach((e) => this._$ET(e, this[e])), this._$EM();
12238
- }
12239
- updated(t) {}
12240
- firstUpdated(t) {}
12241
- };
12242
- A.elementStyles = [], A.shadowRootOptions = { mode: "open" }, A[S("elementProperties")] = /* @__PURE__ */ new Map, A[S("finalized")] = /* @__PURE__ */ new Map, bt?.({ ReactiveElement: A }), (R.reactiveElementVersions ??= []).push("2.1.1");
12243
- var I = globalThis;
12244
- var T = I.trustedTypes;
12245
- var K = T ? T.createPolicy("lit-html", { createHTML: (o) => o }) : undefined;
12246
- var et = "$lit$";
12247
- var v = `lit$${Math.random().toFixed(9).slice(2)}$`;
12248
- var st = "?" + v;
12249
- var $t = `<${st}>`;
12250
- var g = document;
12251
- var k = () => g.createComment("");
12252
- var P = (o) => o === null || typeof o != "object" && typeof o != "function";
12253
- var B = Array.isArray;
12254
- var vt = (o) => B(o) || typeof o?.[Symbol.iterator] == "function";
12255
- var j = `[
12256
- \f\r]`;
12257
- var x = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g;
12258
- var Z = /-->/g;
12259
- var G = />/g;
12260
- var y = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
12261
- \f\r"'\`<>=]|("|')|))|$)`, "g");
12262
- var Q = /'/g;
12263
- var X = /"/g;
12264
- var it = /^(?:script|style|textarea|title)$/i;
12265
- var _t = (o) => (t, ...e) => ({ _$litType$: o, strings: t, values: e });
12266
- var yt = _t(1);
12267
- var w = Symbol.for("lit-noChange");
12268
- var d = Symbol.for("lit-nothing");
12269
- var Y = /* @__PURE__ */ new WeakMap;
12270
- var m = g.createTreeWalker(g, 129);
12271
- function ot(o, t) {
12272
- if (!B(o) || !o.hasOwnProperty("raw"))
12273
- throw Error("invalid template strings array");
12274
- return K !== undefined ? K.createHTML(t) : t;
12275
- }
12276
- var mt = (o, t) => {
12277
- const e = o.length - 1, s = [];
12278
- let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", r = x;
12279
- for (let h = 0;h < e; h++) {
12280
- const a = o[h];
12281
- let l, u, c = -1, f = 0;
12282
- for (;f < a.length && (r.lastIndex = f, u = r.exec(a), u !== null); )
12283
- f = r.lastIndex, r === x ? u[1] === "!--" ? r = Z : u[1] !== undefined ? r = G : u[2] !== undefined ? (it.test(u[2]) && (i = RegExp("</" + u[2], "g")), r = y) : u[3] !== undefined && (r = y) : r === y ? u[0] === ">" ? (r = i ?? x, c = -1) : u[1] === undefined ? c = -2 : (c = r.lastIndex - u[2].length, l = u[1], r = u[3] === undefined ? y : u[3] === '"' ? X : Q) : r === X || r === Q ? r = y : r === Z || r === G ? r = x : (r = y, i = undefined);
12284
- const $ = r === y && o[h + 1].startsWith("/>") ? " " : "";
12285
- n += r === x ? a + $t : c >= 0 ? (s.push(l), a.slice(0, c) + et + a.slice(c) + v + $) : a + v + (c === -2 ? h : $);
12286
- }
12287
- return [ot(o, n + (o[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
12288
- };
12289
-
12290
- class O {
12291
- constructor({ strings: t, _$litType$: e }, s) {
12292
- let i;
12293
- this.parts = [];
12294
- let n = 0, r = 0;
12295
- const h = t.length - 1, a = this.parts, [l, u] = mt(t, e);
12296
- if (this.el = O.createElement(l, s), m.currentNode = this.el.content, e === 2 || e === 3) {
12297
- const c = this.el.content.firstChild;
12298
- c.replaceWith(...c.childNodes);
12299
- }
12300
- for (;(i = m.nextNode()) !== null && a.length < h; ) {
12301
- if (i.nodeType === 1) {
12302
- if (i.hasAttributes())
12303
- for (const c of i.getAttributeNames())
12304
- if (c.endsWith(et)) {
12305
- const f = u[r++], $ = i.getAttribute(c).split(v), M = /([.?@])?(.*)/.exec(f);
12306
- a.push({ type: 1, index: n, name: M[2], strings: $, ctor: M[1] === "." ? At : M[1] === "?" ? wt : M[1] === "@" ? Et : z }), i.removeAttribute(c);
12307
- } else
12308
- c.startsWith(v) && (a.push({ type: 6, index: n }), i.removeAttribute(c));
12309
- if (it.test(i.tagName)) {
12310
- const c = i.textContent.split(v), f = c.length - 1;
12311
- if (f > 0) {
12312
- i.textContent = T ? T.emptyScript : "";
12313
- for (let $ = 0;$ < f; $++)
12314
- i.append(c[$], k()), m.nextNode(), a.push({ type: 2, index: ++n });
12315
- i.append(c[f], k());
12316
- }
12317
- }
12318
- } else if (i.nodeType === 8)
12319
- if (i.data === st)
12320
- a.push({ type: 2, index: n });
12321
- else {
12322
- let c = -1;
12323
- for (;(c = i.data.indexOf(v, c + 1)) !== -1; )
12324
- a.push({ type: 7, index: n }), c += v.length - 1;
12325
- }
12326
- n++;
12327
- }
12328
- }
12329
- static createElement(t, e) {
12330
- const s = g.createElement("template");
12331
- return s.innerHTML = t, s;
12332
- }
12333
- }
12334
- function E(o, t, e = o, s) {
12335
- if (t === w)
12336
- return t;
12337
- let i = s !== undefined ? e._$Co?.[s] : e._$Cl;
12338
- const n = P(t) ? undefined : t._$litDirective$;
12339
- return i?.constructor !== n && (i?._$AO?.(false), n === undefined ? i = undefined : (i = new n(o), i._$AT(o, e, s)), s !== undefined ? (e._$Co ??= [])[s] = i : e._$Cl = i), i !== undefined && (t = E(o, i._$AS(o, t.values), i, s)), t;
12340
- }
12341
-
12342
- class gt {
12343
- constructor(t, e) {
12344
- this._$AV = [], this._$AN = undefined, this._$AD = t, this._$AM = e;
12345
- }
12346
- get parentNode() {
12347
- return this._$AM.parentNode;
12348
- }
12349
- get _$AU() {
12350
- return this._$AM._$AU;
12351
- }
12352
- u(t) {
12353
- const { el: { content: e }, parts: s } = this._$AD, i = (t?.creationScope ?? g).importNode(e, true);
12354
- m.currentNode = i;
12355
- let n = m.nextNode(), r = 0, h = 0, a = s[0];
12356
- for (;a !== undefined; ) {
12357
- if (r === a.index) {
12358
- let l;
12359
- a.type === 2 ? l = new U(n, n.nextSibling, this, t) : a.type === 1 ? l = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (l = new xt(n, this, t)), this._$AV.push(l), a = s[++h];
12360
- }
12361
- r !== a?.index && (n = m.nextNode(), r++);
12362
- }
12363
- return m.currentNode = g, i;
12364
- }
12365
- p(t) {
12366
- let e = 0;
12367
- for (const s of this._$AV)
12368
- s !== undefined && (s.strings !== undefined ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++;
12369
- }
12370
- }
12371
-
12372
- class U {
12373
- get _$AU() {
12374
- return this._$AM?._$AU ?? this._$Cv;
12375
- }
12376
- constructor(t, e, s, i) {
12377
- this.type = 2, this._$AH = d, this._$AN = undefined, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = i?.isConnected ?? true;
12378
- }
12379
- get parentNode() {
12380
- let t = this._$AA.parentNode;
12381
- const e = this._$AM;
12382
- return e !== undefined && t?.nodeType === 11 && (t = e.parentNode), t;
12383
- }
12384
- get startNode() {
12385
- return this._$AA;
12386
- }
12387
- get endNode() {
12388
- return this._$AB;
12389
- }
12390
- _$AI(t, e = this) {
12391
- t = E(this, t, e), P(t) ? t === d || t == null || t === "" ? (this._$AH !== d && this._$AR(), this._$AH = d) : t !== this._$AH && t !== w && this._(t) : t._$litType$ !== undefined ? this.$(t) : t.nodeType !== undefined ? this.T(t) : vt(t) ? this.k(t) : this._(t);
12392
- }
12393
- O(t) {
12394
- return this._$AA.parentNode.insertBefore(t, this._$AB);
12395
- }
12396
- T(t) {
12397
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
12398
- }
12399
- _(t) {
12400
- this._$AH !== d && P(this._$AH) ? this._$AA.nextSibling.data = t : this.T(g.createTextNode(t)), this._$AH = t;
12401
- }
12402
- $(t) {
12403
- const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === undefined && (s.el = O.createElement(ot(s.h, s.h[0]), this.options)), s);
12404
- if (this._$AH?._$AD === i)
12405
- this._$AH.p(e);
12406
- else {
12407
- const n = new gt(i, this), r = n.u(this.options);
12408
- n.p(e), this.T(r), this._$AH = n;
12409
- }
12410
- }
12411
- _$AC(t) {
12412
- let e = Y.get(t.strings);
12413
- return e === undefined && Y.set(t.strings, e = new O(t)), e;
12414
- }
12415
- k(t) {
12416
- B(this._$AH) || (this._$AH = [], this._$AR());
12417
- const e = this._$AH;
12418
- let s, i = 0;
12419
- for (const n of t)
12420
- i === e.length ? e.push(s = new U(this.O(k()), this.O(k()), this, this.options)) : s = e[i], s._$AI(n), i++;
12421
- i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i);
12422
- }
12423
- _$AR(t = this._$AA.nextSibling, e) {
12424
- for (this._$AP?.(false, true, e);t !== this._$AB; ) {
12425
- const s = t.nextSibling;
12426
- t.remove(), t = s;
12427
- }
12428
- }
12429
- setConnected(t) {
12430
- this._$AM === undefined && (this._$Cv = t, this._$AP?.(t));
12431
- }
12432
- }
12433
-
12434
- class z {
12435
- get tagName() {
12436
- return this.element.tagName;
12437
- }
12438
- get _$AU() {
12439
- return this._$AM._$AU;
12440
- }
12441
- constructor(t, e, s, i, n) {
12442
- this.type = 1, this._$AH = d, this._$AN = undefined, this.element = t, this.name = e, this._$AM = i, this.options = n, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String), this.strings = s) : this._$AH = d;
12443
- }
12444
- _$AI(t, e = this, s, i) {
12445
- const n = this.strings;
12446
- let r = false;
12447
- if (n === undefined)
12448
- t = E(this, t, e, 0), r = !P(t) || t !== this._$AH && t !== w, r && (this._$AH = t);
12449
- else {
12450
- const h = t;
12451
- let a, l;
12452
- for (t = n[0], a = 0;a < n.length - 1; a++)
12453
- l = E(this, h[s + a], e, a), l === w && (l = this._$AH[a]), r ||= !P(l) || l !== this._$AH[a], l === d ? t = d : t !== d && (t += (l ?? "") + n[a + 1]), this._$AH[a] = l;
12454
- }
12455
- r && !i && this.j(t);
12456
- }
12457
- j(t) {
12458
- t === d ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
12459
- }
12460
- }
12461
-
12462
- class At extends z {
12463
- constructor() {
12464
- super(...arguments), this.type = 3;
12465
- }
12466
- j(t) {
12467
- this.element[this.name] = t === d ? undefined : t;
12468
- }
12469
- }
12470
-
12471
- class wt extends z {
12472
- constructor() {
12473
- super(...arguments), this.type = 4;
12474
- }
12475
- j(t) {
12476
- this.element.toggleAttribute(this.name, !!t && t !== d);
12477
- }
12478
- }
12479
-
12480
- class Et extends z {
12481
- constructor(t, e, s, i, n) {
12482
- super(t, e, s, i, n), this.type = 5;
12483
- }
12484
- _$AI(t, e = this) {
12485
- if ((t = E(this, t, e, 0) ?? d) === w)
12486
- return;
12487
- const s = this._$AH, i = t === d && s !== d || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== d && (s === d || i);
12488
- i && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
12489
- }
12490
- handleEvent(t) {
12491
- typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, t) : this._$AH.handleEvent(t);
12492
- }
12493
- }
12494
-
12495
- class xt {
12496
- constructor(t, e, s) {
12497
- this.element = t, this.type = 6, this._$AN = undefined, this._$AM = e, this.options = s;
12498
- }
12499
- get _$AU() {
12500
- return this._$AM._$AU;
12501
- }
12502
- _$AI(t) {
12503
- E(this, t);
12504
- }
12505
- }
12506
- var St = I.litHtmlPolyfillSupport;
12507
- St?.(O, U), (I.litHtmlVersions ??= []).push("3.3.1");
12508
- var Ct = (o, t, e) => {
12509
- const s = e?.renderBefore ?? t;
12510
- let i = s._$litPart$;
12511
- if (i === undefined) {
12512
- const n = e?.renderBefore ?? null;
12513
- s._$litPart$ = i = new U(t.insertBefore(k(), n), n, undefined, e ?? {});
12514
- }
12515
- return i._$AI(o), i;
12516
- };
12517
- var q = globalThis;
12518
-
12519
- class C extends A {
12520
- constructor() {
12521
- super(...arguments), this.renderOptions = { host: this }, this._$Do = undefined;
12522
- }
12523
- createRenderRoot() {
12524
- const t = super.createRenderRoot();
12525
- return this.renderOptions.renderBefore ??= t.firstChild, t;
12526
- }
12527
- update(t) {
12528
- const e = this.render();
12529
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Ct(e, this.renderRoot, this.renderOptions);
12530
- }
12531
- connectedCallback() {
12532
- super.connectedCallback(), this._$Do?.setConnected(true);
12533
- }
12534
- disconnectedCallback() {
12535
- super.disconnectedCallback(), this._$Do?.setConnected(false);
12536
- }
12537
- render() {
12538
- return w;
12539
- }
12540
- }
12541
- C._$litElement$ = true, C.finalized = true, q.litElementHydrateSupport?.({ LitElement: C });
12542
- var kt = q.litElementPolyfillSupport;
12543
- kt?.({ LitElement: C });
12544
- (q.litElementVersions ??= []).push("4.2.1");
12545
- var Pt = (o) => (t, e) => {
12546
- e !== undefined ? e.addInitializer(() => {
12547
- customElements.get(o) || customElements.define(o, t);
12548
- }) : customElements.get(o) || customElements.define(o, t);
12549
- };
12550
- var Ot = { attribute: true, type: String, converter: N, reflect: false, hasChanged: L };
12551
- var Ut = (o = Ot, t, e) => {
12552
- const { kind: s, metadata: i } = e;
12553
- let n = globalThis.litPropertyMetadata.get(i);
12554
- if (n === undefined && globalThis.litPropertyMetadata.set(i, n = /* @__PURE__ */ new Map), s === "setter" && ((o = Object.create(o)).wrapped = true), n.set(e.name, o), s === "accessor") {
12555
- const { name: r } = e;
12556
- return { set(h) {
12557
- const a = t.get.call(this);
12558
- t.set.call(this, h), this.requestUpdate(r, a, o);
12559
- }, init(h) {
12560
- return h !== undefined && this.C(r, undefined, o, h), h;
12561
- } };
12562
- }
12563
- if (s === "setter") {
12564
- const { name: r } = e;
12565
- return function(h) {
12566
- const a = this[r];
12567
- t.call(this, h), this.requestUpdate(r, a, o);
12568
- };
12569
- }
12570
- throw Error("Unsupported decorator location: " + s);
12571
- };
12572
- function _(o) {
12573
- return (t, e) => typeof e == "object" ? Ut(o, t, e) : ((s, i, n) => {
12574
- const r = i.hasOwnProperty(n);
12575
- return i.constructor.createProperty(n, s), r ? Object.getOwnPropertyDescriptor(i, n) : undefined;
12576
- })(o, t, e);
12577
- }
12578
- var Mt = Object.defineProperty;
12579
- var Ht = Object.getOwnPropertyDescriptor;
12580
- var b = (o, t, e, s) => {
12581
- for (var i = s > 1 ? undefined : s ? Ht(t, e) : t, n = o.length - 1, r;n >= 0; n--)
12582
- (r = o[n]) && (i = (s ? r(t, e, i) : r(i)) || i);
12583
- return s && i && Mt(t, e, i), i;
12584
- };
12585
- var p = class extends C {
12586
- constructor() {
12587
- super(...arguments), this.variant = "primary", this.size = "default", this.type = "circle", this.state = "default", this.iconName = "home", this.disabled = false, this.buttonAriaLabel = "Icon button";
12588
- }
12589
- createRenderRoot() {
12590
- return this;
12591
- }
12592
- connectedCallback() {
12593
- if (super.connectedCallback(), !document.querySelector('link[href*="Roboto"]')) {
12594
- const o = document.createElement("link");
12595
- o.rel = "stylesheet", o.href = "https://ui.renaissance.com/fonts/Roboto/style.css", document.head.appendChild(o);
12596
- }
12597
- }
12598
- set shape(o) {
12599
- this.type = o;
12600
- }
12601
- get shape() {
12602
- return this.type;
12603
- }
12604
- get buttonClasses() {
12605
- return [
12606
- "nds-icon-button",
12607
- `nds-icon-button--${this.variant}`,
12608
- `nds-icon-button--${this.size}`,
12609
- `nds-icon-button--${this.type}`,
12610
- this.state !== "default" ? `nds-icon-button--${this.state}` : "",
12611
- this.disabled ? "nds-icon-button--disabled" : ""
12612
- ].filter(Boolean).join(" ");
12613
- }
12614
- handleClick(o) {
12615
- if (this.disabled) {
12616
- o.preventDefault(), o.stopPropagation();
12617
- return;
12618
- }
12619
- this.dispatchEvent(new CustomEvent("icon-button-click", {
12620
- bubbles: true,
12621
- composed: true,
12622
- detail: { originalEvent: o }
12623
- }));
12624
- }
12625
- render() {
12626
- return yt`
12627
- <style>
12628
- nds-icon-button {
12629
- display: inline-block;
12630
- }
12631
-
12632
- .nds-icon-button {
12633
- display: inline-flex;
12634
- align-items: center;
12635
- justify-content: center;
12636
- cursor: pointer;
12637
- font-family: var(--font-family-roboto, "Roboto", sans-serif);
12638
- font-weight: var(--font-weight-regular, 400);
12639
- line-height: 1;
12640
- text-decoration: none;
12641
- background: none;
12642
- position: relative;
12643
- box-sizing: border-box;
12644
- margin: 0;
12645
- padding: 0;
12646
- border: none;
12647
- transition: background-color 0.2s ease-in-out,
12648
- color 0.2s ease-in-out,
12649
- box-shadow 0.2s ease-in-out;
12650
- }
12651
-
12652
- /* ── Sizes ── */
12653
- .nds-icon-button--small {
12654
- width: var(--height-32, 32px);
12655
- height: var(--height-32, 32px);
12656
- }
12657
-
12658
- .nds-icon-button--medium {
12659
- width: var(--height-36, 36px);
12660
- height: var(--height-36, 36px);
12661
- }
12662
-
12663
- .nds-icon-button--default {
12664
- width: var(--height-40, 40px);
12665
- height: var(--height-40, 40px);
12666
- }
12667
-
12668
- .nds-icon-button--large {
12669
- width: var(--height-48, 48px);
12670
- height: var(--height-48, 48px);
12671
- }
12672
-
12673
- /* ── Shapes ── */
12674
- .nds-icon-button--circle {
12675
- border-radius: var(--radius-circle, 50%);
12676
- }
12677
-
12678
- .nds-icon-button--rounded {
12679
- border-radius: var(--radius-8, 8px);
12680
- }
12681
-
12682
- /* ── Primary ── */
12683
- .nds-icon-button--primary {
12684
- background-color: var(--color-interactive-blue, #146eb3);
12685
- color: var(--color-primary-white, #ffffff);
12686
- }
12687
-
12688
- .nds-icon-button--primary:hover:not(:disabled):not(.nds-icon-button--disabled) {
12689
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12690
- }
12691
-
12692
- .nds-icon-button--primary:active:not(:disabled):not(.nds-icon-button--disabled) {
12693
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12694
- }
12695
-
12696
- /* ── Secondary ── */
12697
- .nds-icon-button--secondary {
12698
- background-color: var(--color-primary-white, #ffffff);
12699
- color: var(--color-interactive-blue, #146eb3);
12700
- box-shadow: inset 0 0 0 var(--stroke-1, 1px) var(--color-interactive-blue, #146eb3);
12701
- }
12702
-
12703
- .nds-icon-button--secondary:hover:not(:disabled):not(.nds-icon-button--disabled) {
12704
- background-color: var(--color-interactive-blue, #146eb3);
12705
- color: var(--color-primary-white, #ffffff);
12706
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12707
- }
12708
-
12709
- .nds-icon-button--secondary:active:not(:disabled):not(.nds-icon-button--disabled) {
12710
- background-color: var(--color-interactive-blue, #146eb3);
12711
- color: var(--color-primary-white, #ffffff);
12712
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12713
- }
12714
-
12715
- /* ── Tertiary ── */
12716
- .nds-icon-button--tertiary {
12717
- background-color: var(--color-new-gray, #f3f5f7);
12718
- color: var(--color-interactive-blue, #146eb3);
12719
- }
12720
-
12721
- .nds-icon-button--tertiary:hover:not(:disabled):not(.nds-icon-button--disabled) {
12722
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-interactive-blue, #146eb3);
12723
- }
12724
-
12725
- .nds-icon-button--tertiary:active:not(:disabled):not(.nds-icon-button--disabled) {
12726
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12727
- }
12728
-
12729
- /* ── Ghost ── */
12730
- .nds-icon-button--ghost {
12731
- background-color: transparent;
12732
- color: var(--color-interactive-blue, #146eb3);
12733
- }
12734
-
12735
- .nds-icon-button--ghost:hover:not(:disabled):not(.nds-icon-button--disabled) {
12736
- background-color: var(--color-new-gray, #f3f5f7);
12737
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-interactive-blue, #146eb3);
12738
- }
12739
-
12740
- .nds-icon-button--ghost:active:not(:disabled):not(.nds-icon-button--disabled) {
12741
- background-color: var(--color-new-gray, #f3f5f7);
12742
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-black, #000000);
12743
- }
12744
-
12745
- /* ── Dark (for dark backgrounds) ── */
12746
- .nds-icon-button--dark {
12747
- background-color: transparent;
12748
- color: var(--color-primary-white, #ffffff);
12749
- box-shadow: inset 0 0 0 var(--stroke-1, 1px) var(--color-primary-white, #ffffff);
12750
- }
12751
-
12752
- .nds-icon-button--dark:hover:not(:disabled):not(.nds-icon-button--disabled) {
12753
- background-color: var(--color-interactive-blue, #146eb3);
12754
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-white, #ffffff);
12755
- }
12756
-
12757
- .nds-icon-button--dark:active:not(:disabled):not(.nds-icon-button--disabled) {
12758
- background-color: var(--color-interactive-blue, #146eb3);
12759
- box-shadow: inset 0 0 0 var(--stroke-2, 2px) var(--color-primary-white, #ffffff);
12760
- }
12761
-
12762
- /* ── Disabled ── */
12763
- .nds-icon-button--disabled,
12764
- .nds-icon-button:disabled {
12765
- opacity: 0.5;
12766
- cursor: not-allowed;
12767
- }
12768
-
12769
- /* ── Icon sizing ── */
12770
- .nds-icon-button__icon {
12771
- line-height: 1;
12772
- display: inline-flex;
12773
- align-items: center;
12774
- justify-content: center;
12775
- color: inherit;
12776
- }
12777
-
12778
- .nds-icon-button--small .nds-icon-button__icon {
12779
- font-size: var(--nds-icon-small, 12px);
12780
- }
12781
-
12782
- .nds-icon-button--medium .nds-icon-button__icon {
12783
- font-size: var(--nds-icon-medium, 14px);
12784
- }
12785
-
12786
- .nds-icon-button--default .nds-icon-button__icon {
12787
- font-size: var(--nds-icon-default, 16px);
12788
- }
12789
-
12790
- .nds-icon-button--large .nds-icon-button__icon {
12791
- font-size: var(--nds-icon-large, 20px);
12792
- }
12793
-
12794
- /* ── Focus ── */
12795
- .nds-icon-button:focus-visible {
12796
- outline: 2px solid var(--color-focus-blue, #2b87ff);
12797
- outline-offset: 2px;
12798
- }
12799
-
12800
- /* ── Reduced motion ── */
12801
- @media (prefers-reduced-motion: reduce) {
12802
- .nds-icon-button {
12803
- transition: none;
12804
- }
12805
- }
12806
- </style>
12807
- <button
12808
- type="button"
12809
- class="${this.buttonClasses}"
12810
- ?disabled="${this.disabled}"
12811
- aria-disabled="${this.disabled ? "true" : "false"}"
12812
- aria-label="${this.buttonAriaLabel}"
12813
- @click="${this.handleClick}"
12814
- >
12815
- <i class="fa-light fa-${this.iconName} nds-icon-button__icon" aria-hidden="true"></i>
12816
- </button>
12817
- `;
12818
- }
12819
- };
12820
- b([
12821
- _()
12822
- ], p.prototype, "variant", 2);
12823
- b([
12824
- _()
12825
- ], p.prototype, "size", 2);
12826
- b([
12827
- _()
12828
- ], p.prototype, "type", 2);
12829
- b([
12830
- _()
12831
- ], p.prototype, "state", 2);
12832
- b([
12833
- _({ attribute: "icon-name" })
12834
- ], p.prototype, "iconName", 2);
12835
- b([
12836
- _({ type: Boolean })
12837
- ], p.prototype, "disabled", 2);
12838
- b([
12839
- _({ attribute: "button-aria-label" })
12840
- ], p.prototype, "buttonAriaLabel", 2);
12841
- b([
12842
- _()
12843
- ], p.prototype, "shape", 1);
12844
- p = b([
12845
- Pt("nds-icon-button")
12846
- ], p);
12847
12149
  var __pieDefineSafely = (tagName, ctor) => {
12848
12150
  if (customElements.get(tagName))
12849
12151
  return;
@@ -12857,7 +12159,7 @@ var __pieDefineSafely = (tagName, ctor) => {
12857
12159
  }
12858
12160
  };
12859
12161
  var root_1 = from_html2(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
12860
- var root_2 = from_html2(`<span class="item-toolbar__calculator-icon svelte-rnx3ie" aria-hidden="true"><i class="fa-regular fa-calculator svelte-rnx3ie"></i></span>`);
12162
+ var root_2 = from_html2(`<span class="item-toolbar__nds-button-zoom svelte-rnx3ie"><nds-icon-button></nds-icon-button></span>`, 2);
12861
12163
  var root_3 = from_html2(`<span aria-hidden="true"></span>`);
12862
12164
  var root_4 = from_html2(`<img class="item-toolbar__icon-image svelte-rnx3ie" alt=""/>`);
12863
12165
  var root_5 = from_html2(`<i aria-hidden="true"></i>`);
@@ -12868,16 +12170,27 @@ var root_9 = from_html2(`<div></div>`);
12868
12170
  var root_10 = from_html2(`<div><div class="item-toolbar__tools-row svelte-rnx3ie"><!> <!> <!></div> <!></div>`);
12869
12171
  var $$css = {
12870
12172
  hash: "svelte-rnx3ie",
12871
- code: `.item-toolbar.svelte-rnx3ie {display:flex;flex-direction:column;align-items:flex-end;gap:0;--pie-toolbar-tools-row-height: 2rem;--pie-tts-controls-row-height: 2.875rem;}.item-toolbar__tools-row.svelte-rnx3ie {display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:0.5rem;min-height:var(--pie-toolbar-tools-row-height);}.item-toolbar__controls-row.svelte-rnx3ie {display:flex;align-items:center;justify-content:flex-end;width:100%;min-height:0;height:auto;}.item-toolbar__controls-row--reserve.svelte-rnx3ie {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--active.svelte-rnx3ie {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--align-start.svelte-rnx3ie {justify-content:flex-start;}.item-toolbar__controls-host.svelte-rnx3ie {display:inline-flex;align-items:center;justify-content:flex-end;width:100%;}.item-toolbar--top.svelte-rnx3ie,
12173
+ code: `.item-toolbar.svelte-rnx3ie {display:flex;flex-direction:column;align-items:flex-end;gap:0;--pie-toolbar-tools-row-height: 2rem;--pie-tts-controls-row-height: 2.875rem;}.item-toolbar__tools-row.svelte-rnx3ie {display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;
12174
+ /* Cap the gap between toolbar items (e.g. TTS play ↔ calculator) at its
12175
+ 200%-zoom size with the same factor the buttons use, so the spacing
12176
+ doesn't keep growing past 200% while the buttons themselves freeze. */gap:calc(0.5rem * var(--pie-toolbar-zoom-comp, 1));min-height:var(--pie-toolbar-tools-row-height);}.item-toolbar__controls-row.svelte-rnx3ie {display:flex;align-items:center;justify-content:flex-end;width:100%;min-height:0;height:auto;}.item-toolbar__controls-row--reserve.svelte-rnx3ie {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--active.svelte-rnx3ie {min-height:var(--pie-tts-controls-row-height);height:var(--pie-tts-controls-row-height);}.item-toolbar__controls-row--align-start.svelte-rnx3ie {justify-content:flex-start;}.item-toolbar__controls-host.svelte-rnx3ie {display:inline-flex;align-items:center;justify-content:flex-end;width:100%;}.item-toolbar--top.svelte-rnx3ie,
12872
12177
  .item-toolbar--bottom.svelte-rnx3ie {align-items:flex-end;}.item-toolbar--left.svelte-rnx3ie,
12873
12178
  .item-toolbar--right.svelte-rnx3ie {align-items:stretch;}.item-toolbar--left.svelte-rnx3ie .item-toolbar__tools-row:where(.svelte-rnx3ie),
12874
12179
  .item-toolbar--right.svelte-rnx3ie .item-toolbar__tools-row:where(.svelte-rnx3ie) {flex-direction:column;align-items:center;justify-content:flex-start;flex-wrap:nowrap;}.item-toolbar--left.svelte-rnx3ie .item-toolbar__controls-row:where(.svelte-rnx3ie),
12875
- .item-toolbar--right.svelte-rnx3ie .item-toolbar__controls-row:where(.svelte-rnx3ie) {justify-content:flex-start;width:auto;min-height:0;height:auto;}.item-toolbar__button.svelte-rnx3ie {display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0.25rem;border:1px solid var(--pie-button-border, var(--pie-border, #ccc));border-radius:0.25rem;background-color:var(--pie-button-bg, var(--pie-background, white));color:var(--pie-button-color, var(--pie-text, #333));cursor:pointer;transition:all 0.15s ease;text-decoration:none;}.item-toolbar__element-host.svelte-rnx3ie {display:contents;}.item-toolbar--sm.svelte-rnx3ie .item-toolbar__button:where(.svelte-rnx3ie) {width:2.75rem;height:2.75rem;}.item-toolbar--sm.svelte-rnx3ie {--pie-toolbar-tools-row-height: 2.75rem;--pie-tts-controls-row-height: 3.625rem;}.item-toolbar--lg.svelte-rnx3ie .item-toolbar__button:where(.svelte-rnx3ie) {width:2.5rem;height:2.5rem;}.item-toolbar--lg.svelte-rnx3ie {--pie-toolbar-tools-row-height: 2.5rem;--pie-tts-controls-row-height: 3.375rem;}.item-toolbar__button.svelte-rnx3ie:hover:not(:disabled) {background-color:var(--pie-button-hover-bg, var(--pie-secondary-background, #f5f5f5));border-color:var(--pie-button-hover-border, var(--pie-button-border, var(--pie-border, #ccc)));color:var(--pie-button-hover-color, var(--pie-button-color, var(--pie-text, #333)));transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb, var(--pie-black, #000) 10%, transparent);}.item-toolbar__button.svelte-rnx3ie:active:not(:disabled) {transform:translateY(0);box-shadow:none;}.item-toolbar__button--active.svelte-rnx3ie {background-color:var(--pie-primary, #1976d2);color:var(--pie-white, #fff);border-color:var(--pie-primary, #1976d2);}.item-toolbar__button--active.svelte-rnx3ie:hover:not(:disabled) {background-color:var(--pie-primary-dark, #1565c0);}.item-toolbar__button.svelte-rnx3ie:focus-visible {outline:2px solid var(--pie-button-focus-outline, var(--pie-primary, #1976d2));outline-offset:2px;}.item-toolbar__button.svelte-rnx3ie:disabled {opacity:0.5;cursor:not-allowed;}.item-toolbar__button.svelte-rnx3ie svg {width:100%;height:100%;}.item-toolbar__icon-image.svelte-rnx3ie {width:100%;height:100%;object-fit:contain;}
12876
-
12877
- /* Decorative only — the outer link/button owns focus and aria semantics. */.item-toolbar__calculator-icon.svelte-rnx3ie {pointer-events:none;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;}
12180
+ .item-toolbar--right.svelte-rnx3ie .item-toolbar__controls-row:where(.svelte-rnx3ie) {justify-content:flex-start;width:auto;min-height:0;height:auto;}.item-toolbar__button.svelte-rnx3ie {display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0.25rem;border:1px solid var(--pie-button-border, var(--pie-border, #ccc));border-radius:0.25rem;background-color:var(--pie-button-bg, var(--pie-background, white));color:var(--pie-button-color, var(--pie-text, #333));cursor:pointer;transition:all 0.15s ease;text-decoration:none;}
12878
12181
 
12879
- /* Defensive: if FA fails to load (shadow injection misses, CSP blocks the
12880
- stylesheet, etc.), the <i> would otherwise render as italic text. */.item-toolbar__calculator-icon.svelte-rnx3ie > i:where(.svelte-rnx3ie) {font-style:normal;}`
12182
+ /* Drive the vendored NDS icon button's outer size via its own \`--height-32\`
12183
+ custom property so its light-DOM inner button matches the toolbar's
12184
+ md/sm/lg dimensions (32 / 44 / 40 px) without a layout shift. The glyph
12185
+ keeps the NDS-native icon size (we render size="small"), so it isn't
12186
+ oversized. */
12187
+ /* Freeze the calculator's header open/close button at its 200%-zoom size
12188
+ (factor is 1 at zoom <= 200%). Zoom on this wrapper, not the host. */.item-toolbar__nds-button-zoom.svelte-rnx3ie {display:inline-flex;zoom:var(--pie-toolbar-zoom-comp, 1);}.item-toolbar.svelte-rnx3ie nds-icon-button:where(.svelte-rnx3ie) {
12189
+ /* Host-settable button size per toolbar size (drives the NDS outer button
12190
+ via its own --height-32). */--height-32: var(--pie-calculator-button-size, 2rem);
12191
+ /* Host-settable accent for the calculator button: the NDS tertiary glyph
12192
+ colour derives from --color-interactive-blue, remapped here to a
12193
+ themeable variable. */--color-interactive-blue: var(--pie-calculator-button-color, #146eb3);}.item-toolbar--sm.svelte-rnx3ie nds-icon-button:where(.svelte-rnx3ie) {--height-32: var(--pie-calculator-button-size-sm, 2.75rem);}.item-toolbar--lg.svelte-rnx3ie nds-icon-button:where(.svelte-rnx3ie) {--height-32: var(--pie-calculator-button-size-lg, 2.5rem);}.item-toolbar__element-host.svelte-rnx3ie {display:contents;}.item-toolbar--sm.svelte-rnx3ie .item-toolbar__button:where(.svelte-rnx3ie) {width:2.75rem;height:2.75rem;}.item-toolbar--sm.svelte-rnx3ie {--pie-toolbar-tools-row-height: 2.75rem;--pie-tts-controls-row-height: 3.625rem;}.item-toolbar--lg.svelte-rnx3ie .item-toolbar__button:where(.svelte-rnx3ie) {width:2.5rem;height:2.5rem;}.item-toolbar--lg.svelte-rnx3ie {--pie-toolbar-tools-row-height: 2.5rem;--pie-tts-controls-row-height: 3.375rem;}.item-toolbar__button.svelte-rnx3ie:hover:not(:disabled) {background-color:var(--pie-button-hover-bg, var(--pie-secondary-background, #f5f5f5));border-color:var(--pie-button-hover-border, var(--pie-button-border, var(--pie-border, #ccc)));color:var(--pie-button-hover-color, var(--pie-button-color, var(--pie-text, #333)));transform:translateY(-1px);box-shadow:0 2px 4px color-mix(in srgb, var(--pie-black, #000) 10%, transparent);}.item-toolbar__button.svelte-rnx3ie:active:not(:disabled) {transform:translateY(0);box-shadow:none;}.item-toolbar__button--active.svelte-rnx3ie {background-color:var(--pie-primary, #1976d2);color:var(--pie-white, #fff);border-color:var(--pie-primary, #1976d2);}.item-toolbar__button--active.svelte-rnx3ie:hover:not(:disabled) {background-color:var(--pie-primary-dark, #1565c0);}.item-toolbar__button.svelte-rnx3ie:focus-visible {outline:2px solid var(--pie-button-focus-outline, var(--pie-primary, #1976d2));outline-offset:2px;}.item-toolbar__button.svelte-rnx3ie:disabled {opacity:0.5;cursor:not-allowed;}.item-toolbar__button.svelte-rnx3ie svg {width:100%;height:100%;}.item-toolbar__icon-image.svelte-rnx3ie {width:100%;height:100%;object-fit:contain;}`
12881
12194
  };
12882
12195
  function ItemToolBar($$anchor, $$props) {
12883
12196
  push2($$props, true);
@@ -12944,11 +12257,50 @@ function ItemToolBar($$anchor, $$props) {
12944
12257
  installFaInToolbarShadow(node);
12945
12258
  return {};
12946
12259
  };
12260
+ const reflectToggleState = (node, pressed) => {
12261
+ let current = pressed;
12262
+ const apply2 = () => {
12263
+ const inner = node.querySelector("button");
12264
+ if (inner)
12265
+ inner.setAttribute("aria-pressed", current ? "true" : "false");
12266
+ };
12267
+ apply2();
12268
+ const observer = new MutationObserver(apply2);
12269
+ observer.observe(node, { childList: true, subtree: true });
12270
+ return {
12271
+ update(next22) {
12272
+ current = next22;
12273
+ apply2();
12274
+ },
12275
+ destroy() {
12276
+ observer.disconnect();
12277
+ }
12278
+ };
12279
+ };
12280
+ const TOOL_FA_ICON_BY_ID = { calculator: "calculator" };
12281
+ const resolveFaIconName = (item2) => TOOL_FA_ICON_BY_ID[item2.id] ?? null;
12947
12282
  const fallbackToolRegistry = createPackagedToolRegistry();
12948
12283
  let activeToolState = state2(proxy2({}));
12949
12284
  let level = prop2($$props, "level", 7, "item"), scopeId = prop2($$props, "scopeId", 7, ""), itemId = prop2($$props, "itemId", 7, ""), sectionId = prop2($$props, "sectionId", 7, ""), catalogId = prop2($$props, "catalogId", 7, ""), tools = prop2($$props, "tools", 7, "calculator,textToSpeech,answerEliminator"), contentKind = prop2($$props, "contentKind", 7, "assessment-item"), position = prop2($$props, "position", 7, "bottom"), scopeElement = prop2($$props, "scopeElement", 7, null), toolRegistry = prop2($$props, "toolRegistry", 7, null), item = prop2($$props, "item", 7, null), hostButtons = prop2($$props, "hostButtons", 23, () => []), className = prop2($$props, "class", 7, ""), size = prop2($$props, "size", 7, "md"), language = prop2($$props, "language", 7, "en-US");
12950
12285
  let toolbarRootElement = state2(null);
12286
+ function currentCalculatorZoomCompensation() {
12287
+ if (typeof window === "undefined")
12288
+ return 1;
12289
+ return computeZoomCompensation(approximateZoomFromWidths(window.outerWidth, window.innerWidth), ICON_BUTTON_ZOOM_OPTIONS.maxZoom, ICON_BUTTON_ZOOM_OPTIONS.minCompensation);
12290
+ }
12291
+ let calculatorButtonZoomComp = state2(1);
12292
+ user_effect2(() => {
12293
+ if (typeof window === "undefined")
12294
+ return;
12295
+ const update2 = () => {
12296
+ set2(calculatorButtonZoomComp, currentCalculatorZoomCompensation(), true);
12297
+ };
12298
+ update2();
12299
+ window.addEventListener("resize", update2);
12300
+ return () => window.removeEventListener("resize", update2);
12301
+ });
12951
12302
  let runtimeContext = state2(null);
12303
+ const useNdsIcons = user_derived2(() => get22(runtimeContext)?.ndsIcons === true);
12952
12304
  let shellContext = state2(null);
12953
12305
  let moduleLoadVersion = state2(0);
12954
12306
  let policyChangeVersion = state2(0);
@@ -13558,8 +12910,8 @@ function ItemToolBar($$anchor, $$props) {
13558
12910
  let resizeStartShellY = 0;
13559
12911
  let resizeCorner = null;
13560
12912
  const resizeHandleEls = [];
13561
- let x2 = 0;
13562
- let y2 = 0;
12913
+ let x = 0;
12914
+ let y = 0;
13563
12915
  let width = currentArgs.mounted.entry.shell?.initialWidth ?? 720;
13564
12916
  let height = currentArgs.mounted.entry.shell?.initialHeight ?? 560;
13565
12917
  let focusTrapCleanup = null;
@@ -13669,16 +13021,16 @@ function ItemToolBar($$anchor, $$props) {
13669
13021
  const effectiveMinHeight = Math.min(minHeight, window.innerHeight);
13670
13022
  width = clamp(width, effectiveMinWidth, Math.max(effectiveMinWidth, Math.min(maxWidth, window.innerWidth)));
13671
13023
  height = clamp(height, effectiveMinHeight, Math.max(effectiveMinHeight, Math.min(maxHeight, window.innerHeight)));
13672
- x2 = clamp(x2, 0, Math.max(0, window.innerWidth - width));
13673
- y2 = clamp(y2, 0, Math.max(0, window.innerHeight - height));
13024
+ x = clamp(x, 0, Math.max(0, window.innerWidth - width));
13025
+ y = clamp(y, 0, Math.max(0, window.innerHeight - height));
13674
13026
  applyShellStyle();
13675
13027
  applyContentMinWidth();
13676
13028
  applyContentLayout();
13677
13029
  notifyHostedResize();
13678
13030
  };
13679
13031
  const moveBy = (dx, dy) => {
13680
- x2 += dx;
13681
- y2 += dy;
13032
+ x += dx;
13033
+ y += dy;
13682
13034
  applyPositionAndSize();
13683
13035
  };
13684
13036
  const resizeBy = (dw, dh) => {
@@ -13759,11 +13111,12 @@ function ItemToolBar($$anchor, $$props) {
13759
13111
  const applyShellStyle = () => {
13760
13112
  if (!shellEl)
13761
13113
  return;
13762
- shellEl.style.left = `${x2}px`;
13763
- shellEl.style.top = `${y2}px`;
13114
+ shellEl.style.left = `${x}px`;
13115
+ shellEl.style.top = `${y}px`;
13764
13116
  shellEl.style.width = `${width}px`;
13765
13117
  shellEl.style.height = `${height}px`;
13766
13118
  shellEl.style.display = currentArgs.active ? "flex" : "none";
13119
+ shellEl.style.setProperty("--pie-tool-shell-zoom-comp", String(currentCalculatorZoomCompensation()));
13767
13120
  };
13768
13121
  const mountContent = () => {
13769
13122
  if (!contentEl)
@@ -13806,24 +13159,24 @@ function ItemToolBar($$anchor, $$props) {
13806
13159
  const verticalMargin = margin + 60;
13807
13160
  switch (align) {
13808
13161
  case "top-left":
13809
- x2 = margin;
13810
- y2 = verticalMargin;
13162
+ x = margin;
13163
+ y = verticalMargin;
13811
13164
  break;
13812
13165
  case "top-right":
13813
- x2 = Math.max(0, viewportW - width - margin);
13814
- y2 = verticalMargin;
13166
+ x = Math.max(0, viewportW - width - margin);
13167
+ y = verticalMargin;
13815
13168
  break;
13816
13169
  case "bottom-left":
13817
- x2 = margin;
13818
- y2 = Math.max(0, viewportH - height - verticalMargin);
13170
+ x = margin;
13171
+ y = Math.max(0, viewportH - height - verticalMargin);
13819
13172
  break;
13820
13173
  case "bottom-right":
13821
- x2 = Math.max(0, viewportW - width - margin);
13822
- y2 = Math.max(0, viewportH - height - verticalMargin);
13174
+ x = Math.max(0, viewportW - width - margin);
13175
+ y = Math.max(0, viewportH - height - verticalMargin);
13823
13176
  break;
13824
13177
  default:
13825
- x2 = Math.max(0, Math.round((viewportW - width) / 2));
13826
- y2 = Math.max(0, Math.round((viewportH - height) / 2));
13178
+ x = Math.max(0, Math.round((viewportW - width) / 2));
13179
+ y = Math.max(0, Math.round((viewportH - height) / 2));
13827
13180
  }
13828
13181
  applyPositionAndSize();
13829
13182
  };
@@ -13988,8 +13341,8 @@ function ItemToolBar($$anchor, $$props) {
13988
13341
  return;
13989
13342
  event2.preventDefault();
13990
13343
  dragPointerId = event2.pointerId;
13991
- dragOffsetX = event2.clientX - x2;
13992
- dragOffsetY = event2.clientY - y2;
13344
+ dragOffsetX = event2.clientX - x;
13345
+ dragOffsetY = event2.clientY - y;
13993
13346
  shellEl.setPointerCapture(event2.pointerId);
13994
13347
  bringToFront();
13995
13348
  };
@@ -14004,8 +13357,8 @@ function ItemToolBar($$anchor, $$props) {
14004
13357
  resizeStartHeight = height;
14005
13358
  resizeStartX = event2.clientX;
14006
13359
  resizeStartY = event2.clientY;
14007
- resizeStartShellX = x2;
14008
- resizeStartShellY = y2;
13360
+ resizeStartShellX = x;
13361
+ resizeStartShellY = y;
14009
13362
  shellEl.setPointerCapture(event2.pointerId);
14010
13363
  bringToFront();
14011
13364
  };
@@ -14016,8 +13369,8 @@ function ItemToolBar($$anchor, $$props) {
14016
13369
  event2.preventDefault();
14017
13370
  const maxX = Math.max(0, window.innerWidth - width);
14018
13371
  const maxY = Math.max(0, window.innerHeight - height);
14019
- x2 = clamp(event2.clientX - dragOffsetX, 0, maxX);
14020
- y2 = clamp(event2.clientY - dragOffsetY, 0, maxY);
13372
+ x = clamp(event2.clientX - dragOffsetX, 0, maxX);
13373
+ y = clamp(event2.clientY - dragOffsetY, 0, maxY);
14021
13374
  applyShellStyle();
14022
13375
  return;
14023
13376
  }
@@ -14033,28 +13386,28 @@ function ItemToolBar($$anchor, $$props) {
14033
13386
  const dx = event2.clientX - resizeStartX;
14034
13387
  const dy = event2.clientY - resizeStartY;
14035
13388
  if (resizeCorner === "se") {
14036
- width = clamp(resizeStartWidth + dx, minWidth, Math.max(minWidth, Math.min(maxWidth, window.innerWidth - x2)));
14037
- height = clamp(resizeStartHeight + dy, minHeight, Math.max(minHeight, Math.min(maxHeight, window.innerHeight - y2)));
13389
+ width = clamp(resizeStartWidth + dx, minWidth, Math.max(minWidth, Math.min(maxWidth, window.innerWidth - x)));
13390
+ height = clamp(resizeStartHeight + dy, minHeight, Math.max(minHeight, Math.min(maxHeight, window.innerHeight - y)));
14038
13391
  } else if (resizeCorner === "sw") {
14039
13392
  const rightEdge = resizeStartShellX + resizeStartWidth;
14040
13393
  const newWidth = clamp(resizeStartWidth - dx, minWidth, Math.min(maxWidth, rightEdge));
14041
- x2 = rightEdge - newWidth;
13394
+ x = rightEdge - newWidth;
14042
13395
  width = newWidth;
14043
- height = clamp(resizeStartHeight + dy, minHeight, Math.max(minHeight, Math.min(maxHeight, window.innerHeight - y2)));
13396
+ height = clamp(resizeStartHeight + dy, minHeight, Math.max(minHeight, Math.min(maxHeight, window.innerHeight - y)));
14044
13397
  } else if (resizeCorner === "ne") {
14045
13398
  const bottomEdge = resizeStartShellY + resizeStartHeight;
14046
- width = clamp(resizeStartWidth + dx, minWidth, Math.max(minWidth, Math.min(maxWidth, window.innerWidth - x2)));
13399
+ width = clamp(resizeStartWidth + dx, minWidth, Math.max(minWidth, Math.min(maxWidth, window.innerWidth - x)));
14047
13400
  const newHeight = clamp(resizeStartHeight - dy, minHeight, Math.min(maxHeight, bottomEdge));
14048
- y2 = bottomEdge - newHeight;
13401
+ y = bottomEdge - newHeight;
14049
13402
  height = newHeight;
14050
13403
  } else if (resizeCorner === "nw") {
14051
13404
  const rightEdge = resizeStartShellX + resizeStartWidth;
14052
13405
  const bottomEdge = resizeStartShellY + resizeStartHeight;
14053
13406
  const newWidth = clamp(resizeStartWidth - dx, minWidth, Math.min(maxWidth, rightEdge));
14054
- x2 = rightEdge - newWidth;
13407
+ x = rightEdge - newWidth;
14055
13408
  width = newWidth;
14056
13409
  const newHeight = clamp(resizeStartHeight - dy, minHeight, Math.min(maxHeight, bottomEdge));
14057
- y2 = bottomEdge - newHeight;
13410
+ y = bottomEdge - newHeight;
14058
13411
  height = newHeight;
14059
13412
  }
14060
13413
  applyShellStyle();
@@ -14080,7 +13433,8 @@ function ItemToolBar($$anchor, $$props) {
14080
13433
  };
14081
13434
  if (isBrowser && currentArgs.mounted.entry.shell) {
14082
13435
  const isCalculatorShell = currentArgs.mounted.toolId === "calculator";
14083
- if (isCalculatorShell)
13436
+ const useNdsShellIcons = isCalculatorShell && get22(useNdsIcons);
13437
+ if (useNdsShellIcons)
14084
13438
  ensureNdsAssets();
14085
13439
  shellEl = document.createElement("div");
14086
13440
  shellEl.className = "pie-tool-shell";
@@ -14139,7 +13493,7 @@ function ItemToolBar($$anchor, $$props) {
14139
13493
  const appendControl = (label, glyph, iconName, onActivate, faVariant = "fa-regular") => {
14140
13494
  if (!controlsEl)
14141
13495
  return;
14142
- controlsEl.appendChild(isCalculatorShell ? createShellIconButton(label, iconName, onActivate, faVariant) : createShellControlButton(label, glyph, onActivate));
13496
+ controlsEl.appendChild(useNdsShellIcons ? createShellIconButton(label, iconName, onActivate, faVariant) : createShellControlButton(label, glyph, onActivate));
14143
13497
  };
14144
13498
  if (shellConfig?.draggable !== false) {
14145
13499
  appendControl("Move tool left", "←", "chevron-left", () => moveBy(-24, 0));
@@ -14161,12 +13515,13 @@ function ItemToolBar($$anchor, $$props) {
14161
13515
  rightClusterEl.style.display = "inline-flex";
14162
13516
  rightClusterEl.style.alignItems = "center";
14163
13517
  rightClusterEl.style.gap = "6px";
13518
+ rightClusterEl.style.setProperty("zoom", "var(--pie-tool-shell-zoom-comp, 1)");
14164
13519
  rightClusterEl.appendChild(controlsEl);
14165
13520
  headerEl.appendChild(rightClusterEl);
14166
13521
  } else {
14167
13522
  headerEl.appendChild(controlsEl);
14168
13523
  }
14169
- if (isCalculatorShell) {
13524
+ if (useNdsShellIcons) {
14170
13525
  closeButtonEl = createShellIconButton("Close tool", "xmark", closeShell, "fa-regular");
14171
13526
  closeButtonEl.style.display = currentArgs.mounted.entry.shell.closeable === false ? "none" : "inline-block";
14172
13527
  } else {
@@ -14200,7 +13555,7 @@ function ItemToolBar($$anchor, $$props) {
14200
13555
  closeButton.style.cursor = "pointer";
14201
13556
  closeButton.style.display = "inline-flex";
14202
13557
  closeButton.style.alignItems = "center";
14203
- closeButton.style.justifyContent = "center";
13558
+ closeButton.style.justifyItems = "center";
14204
13559
  closeButton.style.width = "28px";
14205
13560
  closeButton.style.height = "28px";
14206
13561
  closeButton.style.padding = "0";
@@ -14547,7 +13902,7 @@ function ItemToolBar($$anchor, $$props) {
14547
13902
  var fragment = comment2();
14548
13903
  var node_1 = first_child2(fragment);
14549
13904
  {
14550
- var consequent_15 = ($$anchor2) => {
13905
+ var consequent_14 = ($$anchor2) => {
14551
13906
  var div = root_10();
14552
13907
  let classes;
14553
13908
  var div_1 = child2(div);
@@ -14557,12 +13912,17 @@ function ItemToolBar($$anchor, $$props) {
14557
13912
  var node_3 = first_child2(fragment_1);
14558
13913
  {
14559
13914
  var consequent = ($$anchor4) => {
14560
- var span = root_1();
14561
- action2(span, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
14562
- mounted: get22(mounted),
14563
- active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
14564
- }));
14565
- append2($$anchor4, span);
13915
+ var fragment_2 = comment2();
13916
+ var node_4 = first_child2(fragment_2);
13917
+ key2(node_4, () => get22(useNdsIcons), ($$anchor5) => {
13918
+ var span = root_1();
13919
+ action2(span, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
13920
+ mounted: get22(mounted),
13921
+ active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
13922
+ }));
13923
+ append2($$anchor5, span);
13924
+ });
13925
+ append2($$anchor4, fragment_2);
14566
13926
  };
14567
13927
  var alternate = ($$anchor4) => {
14568
13928
  var span_1 = root_1();
@@ -14578,32 +13938,47 @@ function ItemToolBar($$anchor, $$props) {
14578
13938
  }
14579
13939
  append2($$anchor3, fragment_1);
14580
13940
  });
14581
- var node_4 = sibling2(node_2, 2);
14582
- each2(node_4, 17, () => get22(toolbarItems), (item2) => item2.id, ($$anchor3, item2, $$index_1, $$array) => {
14583
- var fragment_2 = comment2();
14584
- var node_5 = first_child2(fragment_2);
13941
+ var node_5 = sibling2(node_2, 2);
13942
+ each2(node_5, 17, () => get22(toolbarItems), (item2) => item2.id, ($$anchor3, item2, $$index_1, $$array) => {
13943
+ const faIconName = user_derived2(() => get22(useNdsIcons) && !isToolbarLinkItem(get22(item2)) ? resolveFaIconName(get22(item2)) : null);
13944
+ var fragment_3 = comment2();
13945
+ var node_6 = first_child2(fragment_3);
14585
13946
  {
13947
+ var consequent_1 = ($$anchor4) => {
13948
+ var span_2 = root_2();
13949
+ var nds_icon_button = child2(span_2);
13950
+ set_class2(nds_icon_button, 1, "item-toolbar__nds-button svelte-rnx3ie");
13951
+ set_custom_element_data2(nds_icon_button, "type", "circle");
13952
+ set_custom_element_data2(nds_icon_button, "size", "small");
13953
+ set_custom_element_data2(nds_icon_button, "variant", "tertiary");
13954
+ template_effect2(() => set_custom_element_data2(nds_icon_button, "icon-name", get22(faIconName)));
13955
+ template_effect2(() => set_custom_element_data2(nds_icon_button, "button-aria-label", get22(item2).ariaLabel || get22(item2).label));
13956
+ template_effect2(() => set_custom_element_data2(nds_icon_button, "title", get22(item2).tooltip || get22(item2).label));
13957
+ template_effect2(() => set_custom_element_data2(nds_icon_button, "disabled", get22(item2).disabled));
13958
+ action2(nds_icon_button, ($$node) => ndsIconButtonAction?.($$node));
13959
+ action2(nds_icon_button, ($$node, $$action_arg) => reflectToggleState?.($$node, $$action_arg), () => isToolbarItemActive(get22(item2)));
13960
+ reset2(span_2);
13961
+ delegated2("click", nds_icon_button, function(...$$args) {
13962
+ get22(item2).onClick?.apply(this, $$args);
13963
+ });
13964
+ append2($$anchor4, span_2);
13965
+ };
14586
13966
  var consequent_6 = ($$anchor4) => {
14587
13967
  var a = root_6();
14588
13968
  let classes_1;
14589
- var node_6 = child2(a);
13969
+ var node_7 = child2(a);
14590
13970
  {
14591
13971
  var consequent_5 = ($$anchor5) => {
14592
- var fragment_3 = comment2();
14593
- var node_7 = first_child2(fragment_3);
13972
+ var fragment_4 = comment2();
13973
+ var node_8 = first_child2(fragment_4);
14594
13974
  {
14595
- var consequent_1 = ($$anchor6) => {
14596
- var span_2 = root_2();
14597
- action2(span_2, ($$node) => ndsIconButtonAction?.($$node));
14598
- append2($$anchor6, span_2);
14599
- };
14600
13975
  var consequent_2 = ($$anchor6) => {
14601
13976
  var span_3 = root_3();
14602
13977
  html2(span_3, () => sanitizeSvgIcon(get22(item2).icon), true);
14603
13978
  reset2(span_3);
14604
13979
  append2($$anchor6, span_3);
14605
13980
  };
14606
- var d2 = user_derived2(() => isInlineSvgIcon(get22(item2).icon));
13981
+ var d = user_derived2(() => isInlineSvgIcon(get22(item2).icon));
14607
13982
  var consequent_3 = ($$anchor6) => {
14608
13983
  var img = root_4();
14609
13984
  template_effect2(() => set_attribute22(img, "src", get22(item2).icon));
@@ -14612,8 +13987,8 @@ function ItemToolBar($$anchor, $$props) {
14612
13987
  var d_1 = user_derived2(() => isExternalIconUrl(get22(item2).icon));
14613
13988
  var alternate_2 = ($$anchor6) => {
14614
13989
  const fallbackIcon = user_derived2(() => getFallbackIconSvg(get22(item2).icon));
14615
- var fragment_4 = comment2();
14616
- var node_8 = first_child2(fragment_4);
13990
+ var fragment_5 = comment2();
13991
+ var node_9 = first_child2(fragment_5);
14617
13992
  {
14618
13993
  var consequent_4 = ($$anchor7) => {
14619
13994
  var span_4 = root_3();
@@ -14626,29 +14001,27 @@ function ItemToolBar($$anchor, $$props) {
14626
14001
  template_effect2(() => set_class2(i_1, 1, `icon icon-${get22(item2).icon}`, "svelte-rnx3ie"));
14627
14002
  append2($$anchor7, i_1);
14628
14003
  };
14629
- if_block2(node_8, ($$render) => {
14004
+ if_block2(node_9, ($$render) => {
14630
14005
  if (get22(fallbackIcon))
14631
14006
  $$render(consequent_4);
14632
14007
  else
14633
14008
  $$render(alternate_1, -1);
14634
14009
  });
14635
14010
  }
14636
- append2($$anchor6, fragment_4);
14011
+ append2($$anchor6, fragment_5);
14637
14012
  };
14638
- if_block2(node_7, ($$render) => {
14639
- if (get22(item2).icon === "calculator")
14640
- $$render(consequent_1);
14641
- else if (get22(d2))
14642
- $$render(consequent_2, 1);
14013
+ if_block2(node_8, ($$render) => {
14014
+ if (get22(d))
14015
+ $$render(consequent_2);
14643
14016
  else if (get22(d_1))
14644
- $$render(consequent_3, 2);
14017
+ $$render(consequent_3, 1);
14645
14018
  else
14646
14019
  $$render(alternate_2, -1);
14647
14020
  });
14648
14021
  }
14649
- append2($$anchor5, fragment_3);
14022
+ append2($$anchor5, fragment_4);
14650
14023
  };
14651
- if_block2(node_6, ($$render) => {
14024
+ if_block2(node_7, ($$render) => {
14652
14025
  if (get22(item2).icon)
14653
14026
  $$render(consequent_5);
14654
14027
  });
@@ -14678,25 +14051,20 @@ function ItemToolBar($$anchor, $$props) {
14678
14051
  var alternate_5 = ($$anchor4) => {
14679
14052
  var button_1 = root_7();
14680
14053
  let classes_2;
14681
- var node_9 = child2(button_1);
14054
+ var node_10 = child2(button_1);
14682
14055
  {
14683
- var consequent_11 = ($$anchor5) => {
14684
- var fragment_5 = comment2();
14685
- var node_10 = first_child2(fragment_5);
14056
+ var consequent_10 = ($$anchor5) => {
14057
+ var fragment_6 = comment2();
14058
+ var node_11 = first_child2(fragment_6);
14686
14059
  {
14687
14060
  var consequent_7 = ($$anchor6) => {
14688
- var span_5 = root_2();
14689
- action2(span_5, ($$node) => ndsIconButtonAction?.($$node));
14061
+ var span_5 = root_3();
14062
+ html2(span_5, () => sanitizeSvgIcon(get22(item2).icon), true);
14063
+ reset2(span_5);
14690
14064
  append2($$anchor6, span_5);
14691
14065
  };
14692
- var consequent_8 = ($$anchor6) => {
14693
- var span_6 = root_3();
14694
- html2(span_6, () => sanitizeSvgIcon(get22(item2).icon), true);
14695
- reset2(span_6);
14696
- append2($$anchor6, span_6);
14697
- };
14698
14066
  var d_3 = user_derived2(() => isInlineSvgIcon(get22(item2).icon));
14699
- var consequent_9 = ($$anchor6) => {
14067
+ var consequent_8 = ($$anchor6) => {
14700
14068
  var img_1 = root_4();
14701
14069
  template_effect2(() => set_attribute22(img_1, "src", get22(item2).icon));
14702
14070
  append2($$anchor6, img_1);
@@ -14704,45 +14072,43 @@ function ItemToolBar($$anchor, $$props) {
14704
14072
  var d_4 = user_derived2(() => isExternalIconUrl(get22(item2).icon));
14705
14073
  var alternate_4 = ($$anchor6) => {
14706
14074
  const fallbackIcon = user_derived2(() => getFallbackIconSvg(get22(item2).icon));
14707
- var fragment_6 = comment2();
14708
- var node_11 = first_child2(fragment_6);
14075
+ var fragment_7 = comment2();
14076
+ var node_12 = first_child2(fragment_7);
14709
14077
  {
14710
- var consequent_10 = ($$anchor7) => {
14711
- var span_7 = root_3();
14712
- html2(span_7, () => sanitizeSvgIcon(get22(fallbackIcon)), true);
14713
- reset2(span_7);
14714
- append2($$anchor7, span_7);
14078
+ var consequent_9 = ($$anchor7) => {
14079
+ var span_6 = root_3();
14080
+ html2(span_6, () => sanitizeSvgIcon(get22(fallbackIcon)), true);
14081
+ reset2(span_6);
14082
+ append2($$anchor7, span_6);
14715
14083
  };
14716
14084
  var alternate_3 = ($$anchor7) => {
14717
14085
  var i_2 = root_5();
14718
14086
  template_effect2(() => set_class2(i_2, 1, `icon icon-${get22(item2).icon}`, "svelte-rnx3ie"));
14719
14087
  append2($$anchor7, i_2);
14720
14088
  };
14721
- if_block2(node_11, ($$render) => {
14089
+ if_block2(node_12, ($$render) => {
14722
14090
  if (get22(fallbackIcon))
14723
- $$render(consequent_10);
14091
+ $$render(consequent_9);
14724
14092
  else
14725
14093
  $$render(alternate_3, -1);
14726
14094
  });
14727
14095
  }
14728
- append2($$anchor6, fragment_6);
14096
+ append2($$anchor6, fragment_7);
14729
14097
  };
14730
- if_block2(node_10, ($$render) => {
14731
- if (get22(item2).icon === "calculator")
14098
+ if_block2(node_11, ($$render) => {
14099
+ if (get22(d_3))
14732
14100
  $$render(consequent_7);
14733
- else if (get22(d_3))
14734
- $$render(consequent_8, 1);
14735
14101
  else if (get22(d_4))
14736
- $$render(consequent_9, 2);
14102
+ $$render(consequent_8, 1);
14737
14103
  else
14738
14104
  $$render(alternate_4, -1);
14739
14105
  });
14740
14106
  }
14741
- append2($$anchor5, fragment_5);
14107
+ append2($$anchor5, fragment_6);
14742
14108
  };
14743
- if_block2(node_9, ($$render) => {
14109
+ if_block2(node_10, ($$render) => {
14744
14110
  if (get22(item2).icon)
14745
- $$render(consequent_11);
14111
+ $$render(consequent_10);
14746
14112
  });
14747
14113
  }
14748
14114
  reset2(button_1);
@@ -14763,73 +14129,85 @@ function ItemToolBar($$anchor, $$props) {
14763
14129
  });
14764
14130
  append2($$anchor4, button_1);
14765
14131
  };
14766
- if_block2(node_5, ($$render) => {
14767
- if (get22(d_2))
14768
- $$render(consequent_6);
14132
+ if_block2(node_6, ($$render) => {
14133
+ if (get22(faIconName))
14134
+ $$render(consequent_1);
14135
+ else if (get22(d_2))
14136
+ $$render(consequent_6, 1);
14769
14137
  else
14770
14138
  $$render(alternate_5, -1);
14771
14139
  });
14772
14140
  }
14773
- append2($$anchor3, fragment_2);
14141
+ append2($$anchor3, fragment_3);
14774
14142
  });
14775
- var node_12 = sibling2(node_4, 2);
14776
- each2(node_12, 17, () => get22(mountedElementsAfterButtons), (mounted) => mounted.key, ($$anchor3, mounted) => {
14777
- var fragment_7 = comment2();
14778
- var node_13 = first_child2(fragment_7);
14143
+ var node_13 = sibling2(node_5, 2);
14144
+ each2(node_13, 17, () => get22(mountedElementsAfterButtons), (mounted) => mounted.key, ($$anchor3, mounted) => {
14145
+ var fragment_8 = comment2();
14146
+ var node_14 = first_child2(fragment_8);
14779
14147
  {
14780
- var consequent_12 = ($$anchor4) => {
14781
- var span_8 = root_1();
14782
- action2(span_8, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
14783
- mounted: get22(mounted),
14784
- active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
14785
- }));
14786
- append2($$anchor4, span_8);
14148
+ var consequent_11 = ($$anchor4) => {
14149
+ var fragment_9 = comment2();
14150
+ var node_15 = first_child2(fragment_9);
14151
+ key2(node_15, () => get22(useNdsIcons), ($$anchor5) => {
14152
+ var span_7 = root_1();
14153
+ action2(span_7, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
14154
+ mounted: get22(mounted),
14155
+ active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
14156
+ }));
14157
+ append2($$anchor5, span_7);
14158
+ });
14159
+ append2($$anchor4, fragment_9);
14787
14160
  };
14788
14161
  var alternate_6 = ($$anchor4) => {
14789
- var span_9 = root_1();
14790
- action2(span_9, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => get22(mounted).entry.element);
14791
- append2($$anchor4, span_9);
14162
+ var span_8 = root_1();
14163
+ action2(span_8, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => get22(mounted).entry.element);
14164
+ append2($$anchor4, span_8);
14792
14165
  };
14793
- if_block2(node_13, ($$render) => {
14166
+ if_block2(node_14, ($$render) => {
14794
14167
  if (get22(mounted).entry.shell)
14795
- $$render(consequent_12);
14168
+ $$render(consequent_11);
14796
14169
  else
14797
14170
  $$render(alternate_6, -1);
14798
14171
  });
14799
14172
  }
14800
- append2($$anchor3, fragment_7);
14173
+ append2($$anchor3, fragment_8);
14801
14174
  });
14802
14175
  reset2(div_1);
14803
- var node_14 = sibling2(div_1, 2);
14176
+ var node_16 = sibling2(div_1, 2);
14804
14177
  {
14805
- var consequent_14 = ($$anchor3) => {
14178
+ var consequent_13 = ($$anchor3) => {
14806
14179
  var div_2 = root_9();
14807
14180
  let classes_3;
14808
14181
  each2(div_2, 21, () => get22(mountedElementsControlsRow), (mounted) => mounted.key, ($$anchor4, mounted) => {
14809
- var fragment_8 = comment2();
14810
- var node_15 = first_child2(fragment_8);
14182
+ var fragment_10 = comment2();
14183
+ var node_17 = first_child2(fragment_10);
14811
14184
  {
14812
- var consequent_13 = ($$anchor5) => {
14813
- var span_10 = root_8();
14814
- action2(span_10, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
14815
- mounted: get22(mounted),
14816
- active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
14817
- }));
14818
- append2($$anchor5, span_10);
14185
+ var consequent_12 = ($$anchor5) => {
14186
+ var fragment_11 = comment2();
14187
+ var node_18 = first_child2(fragment_11);
14188
+ key2(node_18, () => get22(useNdsIcons), ($$anchor6) => {
14189
+ var span_9 = root_8();
14190
+ action2(span_9, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
14191
+ mounted: get22(mounted),
14192
+ active: get22(renderedToolActiveById)[get22(mounted).toolId] ?? false
14193
+ }));
14194
+ append2($$anchor6, span_9);
14195
+ });
14196
+ append2($$anchor5, fragment_11);
14819
14197
  };
14820
14198
  var alternate_7 = ($$anchor5) => {
14821
- var span_11 = root_8();
14822
- action2(span_11, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => get22(mounted).entry.element);
14823
- append2($$anchor5, span_11);
14199
+ var span_10 = root_8();
14200
+ action2(span_10, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => get22(mounted).entry.element);
14201
+ append2($$anchor5, span_10);
14824
14202
  };
14825
- if_block2(node_15, ($$render) => {
14203
+ if_block2(node_17, ($$render) => {
14826
14204
  if (get22(mounted).entry.shell)
14827
- $$render(consequent_13);
14205
+ $$render(consequent_12);
14828
14206
  else
14829
14207
  $$render(alternate_7, -1);
14830
14208
  });
14831
14209
  }
14832
- append2($$anchor4, fragment_8);
14210
+ append2($$anchor4, fragment_10);
14833
14211
  });
14834
14212
  reset2(div_2);
14835
14213
  template_effect2(() => classes_3 = set_class2(div_2, 1, "item-toolbar__controls-row svelte-rnx3ie", null, classes_3, {
@@ -14839,9 +14217,9 @@ function ItemToolBar($$anchor, $$props) {
14839
14217
  }));
14840
14218
  append2($$anchor3, div_2);
14841
14219
  };
14842
- if_block2(node_14, ($$render) => {
14220
+ if_block2(node_16, ($$render) => {
14843
14221
  if (get22(shouldRenderControlsRow))
14844
- $$render(consequent_14);
14222
+ $$render(consequent_13);
14845
14223
  });
14846
14224
  }
14847
14225
  reset2(div);
@@ -14856,12 +14234,13 @@ function ItemToolBar($$anchor, $$props) {
14856
14234
  });
14857
14235
  set_attribute22(div, "data-content-kind", get22(effectiveContentKind));
14858
14236
  set_attribute22(div, "data-level", get22(effectiveLevel));
14237
+ set_style2(div, `--pie-toolbar-zoom-comp: ${get22(calculatorButtonZoomComp)};`);
14859
14238
  });
14860
14239
  append2($$anchor2, div);
14861
14240
  };
14862
14241
  if_block2(node_1, ($$render) => {
14863
14242
  if (isBrowser)
14864
- $$render(consequent_15);
14243
+ $$render(consequent_14);
14865
14244
  });
14866
14245
  }
14867
14246
  append2($$anchor, fragment);