@abgov/react-components 4.0.0-alpha.116 → 4.0.0-alpha.117

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.
@@ -1521,7 +1521,7 @@ class Accordion extends SvelteElement {
1521
1521
  customElements.define("goa-accordion", Accordion);
1522
1522
  /* libs/web-components/src/components/app-header/AppHeader.svelte generated by Svelte v3.51.0 */
1523
1523
 
1524
- function create_else_block$5(ctx) {
1524
+ function create_else_block$6(ctx) {
1525
1525
  let div;
1526
1526
  let img0;
1527
1527
  let img0_src_value;
@@ -1656,7 +1656,7 @@ function create_fragment$I(ctx) {
1656
1656
  if (
1657
1657
  /*url*/
1658
1658
  ctx[1]) return create_if_block$j;
1659
- return create_else_block$5;
1659
+ return create_else_block$6;
1660
1660
  }
1661
1661
 
1662
1662
  let current_block_type = select_block_type(ctx);
@@ -1833,7 +1833,7 @@ class AppHeader extends SvelteElement {
1833
1833
  customElements.define("goa-app-header", AppHeader);
1834
1834
  /* libs/web-components/src/components/badge/Badge.svelte generated by Svelte v3.51.0 */
1835
1835
 
1836
- function create_else_block$4(ctx) {
1836
+ function create_else_block$5(ctx) {
1837
1837
  let div;
1838
1838
  return {
1839
1839
  c() {
@@ -1931,7 +1931,7 @@ function create_fragment$H(ctx) {
1931
1931
  if (
1932
1932
  /*showIcon*/
1933
1933
  ctx[7]) return create_if_block_1$a;
1934
- return create_else_block$4;
1934
+ return create_else_block$5;
1935
1935
  }
1936
1936
 
1937
1937
  let current_block_type = select_block_type(ctx);
@@ -2483,7 +2483,7 @@ class Block extends SvelteElement {
2483
2483
  customElements.define("goa-block", Block);
2484
2484
  /* libs/web-components/src/components/button/Button.svelte generated by Svelte v3.51.0 */
2485
2485
 
2486
- function create_else_block$3(ctx) {
2486
+ function create_else_block$4(ctx) {
2487
2487
  let t0;
2488
2488
  let span;
2489
2489
  let t1;
@@ -2692,7 +2692,7 @@ function create_fragment$F(ctx) {
2692
2692
  if (
2693
2693
  /*type*/
2694
2694
  ctx[0] === "start") return create_if_block$h;
2695
- return create_else_block$3;
2695
+ return create_else_block$4;
2696
2696
  }
2697
2697
 
2698
2698
  let current_block_type = select_block_type(ctx);
@@ -5321,12 +5321,9 @@ function noscroll(_node, opts) {
5321
5321
  }
5322
5322
 
5323
5323
  const scrollbarWidth = calculateScrollbarWidth();
5324
-
5325
- if (scrollbarWidth > 0) {
5326
- toggledScrolling = true;
5327
- document.body.style.overflow = "hidden";
5328
- document.body.style.paddingRight = scrollbarWidth + "px";
5329
- }
5324
+ toggledScrolling = true;
5325
+ document.body.style.overflow = "hidden";
5326
+ document.body.style.paddingRight = scrollbarWidth + "px";
5330
5327
  }
5331
5328
 
5332
5329
  function isScrollable() {
@@ -5483,7 +5480,7 @@ function create_if_block_3$4(ctx) {
5483
5480
  let div_class_value;
5484
5481
  let if_block =
5485
5482
  /*message*/
5486
- ctx[0] && create_if_block_4$2(ctx);
5483
+ ctx[0] && create_if_block_4$1(ctx);
5487
5484
  return {
5488
5485
  c() {
5489
5486
  div = element("div");
@@ -5534,7 +5531,7 @@ function create_if_block_3$4(ctx) {
5534
5531
  if (if_block) {
5535
5532
  if_block.p(ctx, dirty);
5536
5533
  } else {
5537
- if_block = create_if_block_4$2(ctx);
5534
+ if_block = create_if_block_4$1(ctx);
5538
5535
  if_block.c();
5539
5536
  if_block.m(div, null);
5540
5537
  }
@@ -5687,7 +5684,7 @@ function create_if_block_1$6(ctx) {
5687
5684
  } // (46:6) {#if message}
5688
5685
 
5689
5686
 
5690
- function create_if_block_4$2(ctx) {
5687
+ function create_if_block_4$1(ctx) {
5691
5688
  let div;
5692
5689
  let t;
5693
5690
  return {
@@ -6696,7 +6693,7 @@ function get_each_context$4(ctx, list, i) {
6696
6693
  } // (256:2) {:else}
6697
6694
 
6698
6695
 
6699
- function create_else_block$2(ctx) {
6696
+ function create_else_block$3(ctx) {
6700
6697
  let t0;
6701
6698
  let goa_input;
6702
6699
  let goa_input_arialabel_value;
@@ -7397,7 +7394,7 @@ function create_fragment$r(ctx) {
7397
7394
  if (
7398
7395
  /*_native*/
7399
7396
  ctx[22]) return create_if_block$c;
7400
- return create_else_block$2;
7397
+ return create_else_block$3;
7401
7398
  }
7402
7399
 
7403
7400
  let current_block_type = select_block_type(ctx);
@@ -8143,7 +8140,6 @@ function create_fragment$p(ctx) {
8143
8140
 
8144
8141
  <span tabindex="0"></span>`;
8145
8142
  this.c = noop;
8146
- attr(div, "id", "root");
8147
8143
  },
8148
8144
 
8149
8145
  m(target, anchor) {
@@ -8202,7 +8198,7 @@ function instance$n($$self, $$props, $$invalidate) {
8202
8198
  } = $$props;
8203
8199
  let ignoreFocusChanges = false;
8204
8200
  let lastFocus;
8205
- let element;
8201
+ let rootEl;
8206
8202
  let hasListeners = false;
8207
8203
 
8208
8204
  function removeListeners() {
@@ -8288,8 +8284,8 @@ function instance$n($$self, $$props, $$invalidate) {
8288
8284
 
8289
8285
  try {
8290
8286
  ignoreFocusChanges = true;
8291
- element.focus();
8292
- } catch (e) {} finally {
8287
+ element && element.focus();
8288
+ } finally {
8293
8289
  ignoreFocusChanges = false;
8294
8290
  }
8295
8291
 
@@ -8300,7 +8296,7 @@ function instance$n($$self, $$props, $$invalidate) {
8300
8296
  var _a;
8301
8297
 
8302
8298
  if (ignoreFocusChanges) return;
8303
- const slotElements = (_a = element.firstChild) === null || _a === void 0 ? void 0 : _a.assignedElements();
8299
+ const slotElements = (_a = rootEl.firstChild) === null || _a === void 0 ? void 0 : _a.assignedElements();
8304
8300
  if (!(slotElements === null || slotElements === void 0 ? void 0 : slotElements.length)) return;
8305
8301
  const contentRootElement = slotElements[0];
8306
8302
 
@@ -8320,8 +8316,8 @@ function instance$n($$self, $$props, $$invalidate) {
8320
8316
 
8321
8317
  function div_binding($$value) {
8322
8318
  binding_callbacks[$$value ? 'unshift' : 'push'](() => {
8323
- element = $$value;
8324
- $$invalidate(0, element);
8319
+ rootEl = $$value;
8320
+ $$invalidate(0, rootEl);
8325
8321
  });
8326
8322
  }
8327
8323
 
@@ -8353,13 +8349,13 @@ function instance$n($$self, $$props, $$invalidate) {
8353
8349
  }
8354
8350
  };
8355
8351
 
8356
- return [element, active, hasListeners, isActive, div_binding];
8352
+ return [rootEl, active, hasListeners, isActive, div_binding];
8357
8353
  }
8358
8354
 
8359
8355
  class FocusTrap extends SvelteElement {
8360
8356
  constructor(options) {
8361
8357
  super();
8362
- this.shadowRoot.innerHTML = `<style>#root{display:inline}</style>`;
8358
+ this.shadowRoot.innerHTML = `<style>div{display:inline}</style>`;
8363
8359
  init(this, {
8364
8360
  target: this.shadowRoot,
8365
8361
  props: attribute_to_object(this.attributes),
@@ -10952,7 +10948,7 @@ class Icon extends SvelteElement {
10952
10948
  customElements.define("goa-icon", Icon);
10953
10949
  /* libs/web-components/src/components/input/Input.svelte generated by Svelte v3.51.0 */
10954
10950
 
10955
- function create_if_block_4$1(ctx) {
10951
+ function create_if_block_4(ctx) {
10956
10952
  let div;
10957
10953
  let t;
10958
10954
  return {
@@ -11163,7 +11159,7 @@ function create_fragment$g(ctx) {
11163
11159
  let dispose;
11164
11160
  let if_block0 =
11165
11161
  /*prefix*/
11166
- ctx[14] && create_if_block_4$1(ctx);
11162
+ ctx[14] && create_if_block_4(ctx);
11167
11163
  let if_block1 =
11168
11164
  /*leadingicon*/
11169
11165
  ctx[5] && create_if_block_3$2(ctx);
@@ -11320,7 +11316,7 @@ function create_fragment$g(ctx) {
11320
11316
  if (if_block0) {
11321
11317
  if_block0.p(ctx, dirty);
11322
11318
  } else {
11323
- if_block0 = create_if_block_4$1(ctx);
11319
+ if_block0 = create_if_block_4(ctx);
11324
11320
  if_block0.c();
11325
11321
  if_block0.m(div2, t0);
11326
11322
  }
@@ -12534,80 +12530,87 @@ customElements.define("goa-microsite-header", MicrositeHeader);
12534
12530
 
12535
12531
  function create_if_block$5(ctx) {
12536
12532
  let goa_focus_trap;
12537
- let div5;
12533
+ let div6;
12538
12534
  let div0;
12539
12535
  let t0;
12540
- let div4;
12536
+ let div5;
12541
12537
  let t1;
12542
- let div3;
12538
+ let div4;
12539
+ let header;
12540
+ let div1;
12543
12541
  let t2;
12544
12542
  let t3;
12545
- let div1;
12546
- let t4;
12547
- let slot0;
12548
- let t5;
12549
12543
  let div2;
12550
- let div4_intro;
12551
- let div4_outro;
12552
- let div5_style_value;
12553
- let noscroll_action;
12544
+ let goa_scrollable;
12545
+ let t4;
12546
+ let div3;
12554
12547
  let div5_intro;
12555
12548
  let div5_outro;
12549
+ let div6_style_value;
12550
+ let noscroll_action;
12551
+ let div6_intro;
12552
+ let div6_outro;
12556
12553
  let current;
12557
12554
  let mounted;
12558
12555
  let dispose;
12559
12556
  let if_block0 =
12560
12557
  /*calloutvariant*/
12561
- ctx[3] !== null && create_if_block_4(ctx);
12562
- let if_block1 =
12563
- /*heading*/
12564
- ctx[0] && create_if_block_3(ctx);
12565
- let if_block2 =
12566
- /*isClosable*/
12567
- ctx[4] && create_if_block_2$1(ctx);
12558
+ ctx[3] !== null && create_if_block_3(ctx);
12568
12559
 
12569
12560
  function select_block_type(ctx, dirty) {
12570
- return create_if_block_1$1;
12561
+ if (
12562
+ /*heading*/
12563
+ ctx[0]) return create_if_block_2$1;
12564
+ return create_else_block$2;
12571
12565
  }
12572
12566
 
12573
- let current_block_type = select_block_type();
12574
- let if_block3 = current_block_type(ctx);
12567
+ let current_block_type = select_block_type(ctx);
12568
+ let if_block1 = current_block_type(ctx);
12569
+ let if_block2 =
12570
+ /*_isClosable*/
12571
+ ctx[7] && create_if_block_1$1(ctx);
12575
12572
  return {
12576
12573
  c() {
12577
12574
  goa_focus_trap = element("goa-focus-trap");
12578
- div5 = element("div");
12575
+ div6 = element("div");
12579
12576
  div0 = element("div");
12580
12577
  t0 = space();
12581
- div4 = element("div");
12578
+ div5 = element("div");
12582
12579
  if (if_block0) if_block0.c();
12583
12580
  t1 = space();
12584
- div3 = element("div");
12585
- if (if_block1) if_block1.c();
12581
+ div4 = element("div");
12582
+ header = element("header");
12583
+ div1 = element("div");
12584
+ if_block1.c();
12586
12585
  t2 = space();
12587
12586
  if (if_block2) if_block2.c();
12588
12587
  t3 = space();
12589
- div1 = element("div");
12590
- if_block3.c();
12591
- t4 = space();
12592
- slot0 = element("slot");
12593
- t5 = space();
12594
12588
  div2 = element("div");
12595
- div2.innerHTML = `<slot name="actions"></slot>`;
12589
+ goa_scrollable = element("goa-scrollable");
12590
+ goa_scrollable.innerHTML = `<slot></slot>`;
12591
+ t4 = space();
12592
+ div3 = element("div");
12593
+ div3.innerHTML = `<slot name="actions"></slot>`;
12596
12594
  attr(div0, "data-testid", "modal-overlay");
12597
12595
  attr(div0, "class", "modal-overlay");
12598
- attr(div1, "data-testid", "modal-content");
12599
- attr(div1, "class", "modal-content");
12600
- attr(div2, "class", "modal-actions");
12601
- attr(div2, "data-testid", "modal-actions");
12602
- attr(div3, "class", "content");
12603
- attr(div4, "class", "modal-pane");
12604
- attr(div5, "data-testid", "modal");
12605
- attr(div5, "class", "modal");
12606
- attr(div5, "style", div5_style_value = "" + ((
12596
+ attr(div1, "data-testid", "modal-title");
12597
+ attr(div1, "class", "modal-title");
12598
+ set_custom_element_data(goa_scrollable, "direction", "vertical");
12599
+ set_custom_element_data(goa_scrollable, "hpadding", "1.9rem");
12600
+ set_custom_element_data(goa_scrollable, "maxheight", "70vh");
12601
+ attr(div2, "data-testid", "modal-content");
12602
+ attr(div2, "class", "modal-content");
12603
+ attr(div3, "class", "modal-actions");
12604
+ attr(div3, "data-testid", "modal-actions");
12605
+ attr(div4, "class", "content");
12606
+ attr(div5, "class", "modal-pane");
12607
+ attr(div6, "data-testid", "modal");
12608
+ attr(div6, "class", "modal");
12609
+ attr(div6, "style", div6_style_value =
12607
12610
  /*width*/
12608
12611
  ctx[2] && `--width: ${
12609
12612
  /*width*/
12610
- ctx[2]};`) + ";"));
12613
+ ctx[2]};`);
12611
12614
  set_custom_element_data(goa_focus_trap, "active",
12612
12615
  /*open*/
12613
12616
  ctx[1]);
@@ -12615,32 +12618,40 @@ function create_if_block$5(ctx) {
12615
12618
 
12616
12619
  m(target, anchor) {
12617
12620
  insert(target, goa_focus_trap, anchor);
12618
- append(goa_focus_trap, div5);
12619
- append(div5, div0);
12620
- append(div5, t0);
12621
+ append(goa_focus_trap, div6);
12622
+ append(div6, div0);
12623
+ append(div6, t0);
12624
+ append(div6, div5);
12625
+ if (if_block0) if_block0.m(div5, null);
12626
+ append(div5, t1);
12621
12627
  append(div5, div4);
12622
- if (if_block0) if_block0.m(div4, null);
12623
- append(div4, t1);
12628
+ append(div4, header);
12629
+ append(header, div1);
12630
+ if_block1.m(div1, null);
12631
+ append(header, t2);
12632
+ if (if_block2) if_block2.m(header, null);
12633
+ append(div4, t3);
12634
+ append(div4, div2);
12635
+ append(div2, goa_scrollable);
12636
+ /*goa_scrollable_binding*/
12637
+
12638
+ ctx[14](goa_scrollable);
12639
+ /*div2_binding*/
12640
+
12641
+ ctx[15](div2);
12642
+ append(div4, t4);
12624
12643
  append(div4, div3);
12625
- if (if_block1) if_block1.m(div3, null);
12626
- append(div3, t2);
12627
- if (if_block2) if_block2.m(div3, null);
12628
- append(div3, t3);
12629
- append(div3, div1);
12630
- if_block3.m(div1, null);
12631
- append(div1, t4);
12632
- append(div1, slot0);
12633
- append(div3, t5);
12634
- append(div3, div2);
12635
12644
  current = true;
12636
12645
 
12637
12646
  if (!mounted) {
12638
12647
  dispose = [listen(div0, "click",
12639
12648
  /*close*/
12640
- ctx[8]), action_destroyer(noscroll_action = noscroll.call(null, div5, {
12649
+ ctx[10]), listen(goa_scrollable, "_scroll",
12650
+ /*handleScroll*/
12651
+ ctx[11]), action_destroyer(noscroll_action = noscroll.call(null, div6, {
12641
12652
  enable:
12642
- /*isOpen*/
12643
- ctx[7]
12653
+ /*_isOpen*/
12654
+ ctx[6]
12644
12655
  }))];
12645
12656
  mounted = true;
12646
12657
  }
@@ -12655,39 +12666,36 @@ function create_if_block$5(ctx) {
12655
12666
  if (if_block0) {
12656
12667
  if_block0.p(ctx, dirty);
12657
12668
  } else {
12658
- if_block0 = create_if_block_4(ctx);
12669
+ if_block0 = create_if_block_3(ctx);
12659
12670
  if_block0.c();
12660
- if_block0.m(div4, t1);
12671
+ if_block0.m(div5, t1);
12661
12672
  }
12662
12673
  } else if (if_block0) {
12663
12674
  if_block0.d(1);
12664
12675
  if_block0 = null;
12665
12676
  }
12666
12677
 
12667
- if (
12668
- /*heading*/
12669
- ctx[0]) {
12678
+ if (current_block_type === (current_block_type = select_block_type(ctx)) && if_block1) {
12679
+ if_block1.p(ctx, dirty);
12680
+ } else {
12681
+ if_block1.d(1);
12682
+ if_block1 = current_block_type(ctx);
12683
+
12670
12684
  if (if_block1) {
12671
- if_block1.p(ctx, dirty);
12672
- } else {
12673
- if_block1 = create_if_block_3(ctx);
12674
12685
  if_block1.c();
12675
- if_block1.m(div3, t2);
12686
+ if_block1.m(div1, null);
12676
12687
  }
12677
- } else if (if_block1) {
12678
- if_block1.d(1);
12679
- if_block1 = null;
12680
12688
  }
12681
12689
 
12682
12690
  if (
12683
- /*isClosable*/
12684
- ctx[4]) {
12691
+ /*_isClosable*/
12692
+ ctx[7]) {
12685
12693
  if (if_block2) {
12686
12694
  if_block2.p(ctx, dirty);
12687
12695
  } else {
12688
- if_block2 = create_if_block_2$1(ctx);
12696
+ if_block2 = create_if_block_1$1(ctx);
12689
12697
  if_block2.c();
12690
- if_block2.m(div3, t3);
12698
+ if_block2.m(header, null);
12691
12699
  }
12692
12700
  } else if (if_block2) {
12693
12701
  if_block2.d(1);
@@ -12696,20 +12704,20 @@ function create_if_block$5(ctx) {
12696
12704
 
12697
12705
  if (!current || dirty &
12698
12706
  /*width*/
12699
- 4 && div5_style_value !== (div5_style_value = "" + ((
12707
+ 4 && div6_style_value !== (div6_style_value =
12700
12708
  /*width*/
12701
12709
  ctx[2] && `--width: ${
12702
12710
  /*width*/
12703
- ctx[2]};`) + ";"))) {
12704
- attr(div5, "style", div5_style_value);
12711
+ ctx[2]};`)) {
12712
+ attr(div6, "style", div6_style_value);
12705
12713
  }
12706
12714
 
12707
12715
  if (noscroll_action && is_function(noscroll_action.update) && dirty &
12708
- /*isOpen*/
12709
- 128) noscroll_action.update.call(null, {
12716
+ /*_isOpen*/
12717
+ 64) noscroll_action.update.call(null, {
12710
12718
  enable:
12711
- /*isOpen*/
12712
- ctx[7]
12719
+ /*_isOpen*/
12720
+ ctx[6]
12713
12721
  });
12714
12722
 
12715
12723
  if (!current || dirty &
@@ -12724,46 +12732,46 @@ function create_if_block$5(ctx) {
12724
12732
  i(local) {
12725
12733
  if (current) return;
12726
12734
  add_render_callback(() => {
12727
- if (div4_outro) div4_outro.end(1);
12728
- div4_intro = create_in_transition(div4, fly, {
12735
+ if (div5_outro) div5_outro.end(1);
12736
+ div5_intro = create_in_transition(div5, fly, {
12729
12737
  duration:
12730
12738
  /*_transitionTime*/
12731
- ctx[6],
12739
+ ctx[9],
12732
12740
  y: 200
12733
12741
  });
12734
- div4_intro.start();
12742
+ div5_intro.start();
12735
12743
  });
12736
12744
  add_render_callback(() => {
12737
- if (div5_outro) div5_outro.end(1);
12738
- div5_intro = create_in_transition(div5, fade, {
12745
+ if (div6_outro) div6_outro.end(1);
12746
+ div6_intro = create_in_transition(div6, fade, {
12739
12747
  duration:
12740
12748
  /*_transitionTime*/
12741
- ctx[6]
12749
+ ctx[9]
12742
12750
  });
12743
- div5_intro.start();
12751
+ div6_intro.start();
12744
12752
  });
12745
12753
  current = true;
12746
12754
  },
12747
12755
 
12748
12756
  o(local) {
12749
- if (div4_intro) div4_intro.invalidate();
12750
- div4_outro = create_out_transition(div4, fly, {
12757
+ if (div5_intro) div5_intro.invalidate();
12758
+ div5_outro = create_out_transition(div5, fly, {
12751
12759
  delay:
12752
12760
  /*_transitionTime*/
12753
- ctx[6],
12761
+ ctx[9],
12754
12762
  duration:
12755
12763
  /*_transitionTime*/
12756
- ctx[6],
12764
+ ctx[9],
12757
12765
  y: -100
12758
12766
  });
12759
- if (div5_intro) div5_intro.invalidate();
12760
- div5_outro = create_out_transition(div5, fade, {
12767
+ if (div6_intro) div6_intro.invalidate();
12768
+ div6_outro = create_out_transition(div6, fade, {
12761
12769
  delay:
12762
12770
  /*_transitionTime*/
12763
- ctx[6],
12771
+ ctx[9],
12764
12772
  duration:
12765
12773
  /*_transitionTime*/
12766
- ctx[6]
12774
+ ctx[9]
12767
12775
  });
12768
12776
  current = false;
12769
12777
  },
@@ -12771,20 +12779,25 @@ function create_if_block$5(ctx) {
12771
12779
  d(detaching) {
12772
12780
  if (detaching) detach(goa_focus_trap);
12773
12781
  if (if_block0) if_block0.d();
12774
- if (if_block1) if_block1.d();
12782
+ if_block1.d();
12775
12783
  if (if_block2) if_block2.d();
12776
- if_block3.d();
12777
- if (detaching && div4_outro) div4_outro.end();
12784
+ /*goa_scrollable_binding*/
12785
+
12786
+ ctx[14](null);
12787
+ /*div2_binding*/
12788
+
12789
+ ctx[15](null);
12778
12790
  if (detaching && div5_outro) div5_outro.end();
12791
+ if (detaching && div6_outro) div6_outro.end();
12779
12792
  mounted = false;
12780
12793
  run_all(dispose);
12781
12794
  }
12782
12795
 
12783
12796
  };
12784
- } // (67:8) {#if calloutvariant !== null}
12797
+ } // (102:8) {#if calloutvariant !== null}
12785
12798
 
12786
12799
 
12787
- function create_if_block_4(ctx) {
12800
+ function create_if_block_3(ctx) {
12788
12801
  let div;
12789
12802
  let goa_icon;
12790
12803
  let goa_icon_inverted_value;
@@ -12794,8 +12807,8 @@ function create_if_block_4(ctx) {
12794
12807
  div = element("div");
12795
12808
  goa_icon = element("goa-icon");
12796
12809
  set_custom_element_data(goa_icon, "type",
12797
- /*iconType*/
12798
- ctx[5]);
12810
+ /*_iconType*/
12811
+ ctx[8]);
12799
12812
  set_custom_element_data(goa_icon, "inverted", goa_icon_inverted_value =
12800
12813
  /*calloutvariant*/
12801
12814
  ctx[3] === "important" ? "false" : "true");
@@ -12811,11 +12824,11 @@ function create_if_block_4(ctx) {
12811
12824
 
12812
12825
  p(ctx, dirty) {
12813
12826
  if (dirty &
12814
- /*iconType*/
12815
- 32) {
12827
+ /*_iconType*/
12828
+ 256) {
12816
12829
  set_custom_element_data(goa_icon, "type",
12817
- /*iconType*/
12818
- ctx[5]);
12830
+ /*_iconType*/
12831
+ ctx[8]);
12819
12832
  }
12820
12833
 
12821
12834
  if (dirty &
@@ -12840,25 +12853,42 @@ function create_if_block_4(ctx) {
12840
12853
  }
12841
12854
 
12842
12855
  };
12843
- } // (76:10) {#if heading}
12856
+ } // (115:14) {:else}
12844
12857
 
12845
12858
 
12846
- function create_if_block_3(ctx) {
12847
- let div;
12859
+ function create_else_block$2(ctx) {
12860
+ let slot;
12861
+ return {
12862
+ c() {
12863
+ slot = element("slot");
12864
+ attr(slot, "name", "heading");
12865
+ },
12866
+
12867
+ m(target, anchor) {
12868
+ insert(target, slot, anchor);
12869
+ },
12870
+
12871
+ p: noop,
12872
+
12873
+ d(detaching) {
12874
+ if (detaching) detach(slot);
12875
+ }
12876
+
12877
+ };
12878
+ } // (113:14) {#if heading}
12879
+
12880
+
12881
+ function create_if_block_2$1(ctx) {
12848
12882
  let t;
12849
12883
  return {
12850
12884
  c() {
12851
- div = element("div");
12852
12885
  t = text(
12853
12886
  /*heading*/
12854
12887
  ctx[0]);
12855
- attr(div, "data-testid", "modal-title");
12856
- attr(div, "class", "modal-title");
12857
12888
  },
12858
12889
 
12859
12890
  m(target, anchor) {
12860
- insert(target, div, anchor);
12861
- append(div, t);
12891
+ insert(target, t, anchor);
12862
12892
  },
12863
12893
 
12864
12894
  p(ctx, dirty) {
@@ -12870,14 +12900,14 @@ function create_if_block_3(ctx) {
12870
12900
  },
12871
12901
 
12872
12902
  d(detaching) {
12873
- if (detaching) detach(div);
12903
+ if (detaching) detach(t);
12874
12904
  }
12875
12905
 
12876
12906
  };
12877
- } // (79:10) {#if isClosable}
12907
+ } // (119:12) {#if _isClosable}
12878
12908
 
12879
12909
 
12880
- function create_if_block_2$1(ctx) {
12910
+ function create_if_block_1$1(ctx) {
12881
12911
  let div;
12882
12912
  let goa_icon_button;
12883
12913
  let mounted;
@@ -12899,7 +12929,7 @@ function create_if_block_2$1(ctx) {
12899
12929
  if (!mounted) {
12900
12930
  dispose = listen(goa_icon_button, "click",
12901
12931
  /*close*/
12902
- ctx[8]);
12932
+ ctx[10]);
12903
12933
  mounted = true;
12904
12934
  }
12905
12935
  },
@@ -12912,28 +12942,6 @@ function create_if_block_2$1(ctx) {
12912
12942
  dispose();
12913
12943
  }
12914
12944
 
12915
- };
12916
- } // (91:12) {#if isScrollable}
12917
-
12918
-
12919
- function create_if_block_1$1(ctx) {
12920
- let goa_scrollable;
12921
- return {
12922
- c() {
12923
- goa_scrollable = element("goa-scrollable");
12924
- goa_scrollable.innerHTML = `<slot></slot>`;
12925
- set_custom_element_data(goa_scrollable, "direction", "vertical");
12926
- set_custom_element_data(goa_scrollable, "height", "50");
12927
- },
12928
-
12929
- m(target, anchor) {
12930
- insert(target, goa_scrollable, anchor);
12931
- },
12932
-
12933
- d(detaching) {
12934
- if (detaching) detach(goa_scrollable);
12935
- }
12936
-
12937
12945
  };
12938
12946
  }
12939
12947
 
@@ -12941,8 +12949,8 @@ function create_fragment$e(ctx) {
12941
12949
  let if_block_anchor;
12942
12950
  let current;
12943
12951
  let if_block =
12944
- /*isOpen*/
12945
- ctx[7] && create_if_block$5(ctx);
12952
+ /*_isOpen*/
12953
+ ctx[6] && create_if_block$5(ctx);
12946
12954
  return {
12947
12955
  c() {
12948
12956
  if (if_block) if_block.c();
@@ -12958,14 +12966,14 @@ function create_fragment$e(ctx) {
12958
12966
 
12959
12967
  p(ctx, [dirty]) {
12960
12968
  if (
12961
- /*isOpen*/
12962
- ctx[7]) {
12969
+ /*_isOpen*/
12970
+ ctx[6]) {
12963
12971
  if (if_block) {
12964
12972
  if_block.p(ctx, dirty);
12965
12973
 
12966
12974
  if (dirty &
12967
- /*isOpen*/
12968
- 128) {
12975
+ /*_isOpen*/
12976
+ 64) {
12969
12977
  transition_in(if_block, 1);
12970
12978
  }
12971
12979
  } else {
@@ -13003,14 +13011,14 @@ function create_fragment$e(ctx) {
13003
13011
  }
13004
13012
 
13005
13013
  function instance$c($$self, $$props, $$invalidate) {
13006
- let isClosable;
13007
- let isOpen;
13014
+ let _isClosable;
13015
+
13016
+ let _isOpen;
13008
13017
 
13009
13018
  let _transitionTime;
13010
13019
 
13011
- let iconType;
13012
- const [CALLOUT_VARIANT, validateCalloutVariant] = typeValidator("Callout variant", ["emergency", "important", "information", "success", "event"]);
13013
- const [Transitions, validateTransition] = typeValidator("Modal transition", ["fast", "slow", "none"]);
13020
+ let _iconType;
13021
+
13014
13022
  let {
13015
13023
  heading = ""
13016
13024
  } = $$props;
@@ -13028,10 +13036,21 @@ function instance$c($$self, $$props, $$invalidate) {
13028
13036
  } = $$props;
13029
13037
  let {
13030
13038
  calloutvariant = null
13031
- } = $$props;
13039
+ } = $$props; // Private
13040
+
13041
+ let _contentEl = null;
13042
+ let _scrollEl = null; // Type verification
13043
+
13044
+ const [CALLOUT_VARIANT, validateCalloutVariant] = typeValidator("Callout variant", ["emergency", "important", "information", "success", "event"]);
13045
+ const [Transitions, validateTransition] = typeValidator("Modal transition", ["fast", "slow", "none"]); // Hooks
13046
+
13047
+ onMount(() => {
13048
+ validateCalloutVariant(calloutvariant);
13049
+ validateTransition(transition);
13050
+ }); // Functions
13032
13051
 
13033
13052
  function close(e) {
13034
- if (!isClosable) {
13053
+ if (!_isClosable) {
13035
13054
  return;
13036
13055
  }
13037
13056
 
@@ -13041,16 +13060,44 @@ function instance$c($$self, $$props, $$invalidate) {
13041
13060
  e.stopPropagation();
13042
13061
  }
13043
13062
 
13044
- onMount(() => {
13045
- validateCalloutVariant(calloutvariant);
13046
- validateTransition(transition);
13047
- });
13063
+ function handleScroll(e) {
13064
+ const hasScroll = e.detail.scrollHeight > e.detail.offsetHeight;
13065
+
13066
+ if (_isOpen && hasScroll) {
13067
+ const atTop = e.detail.scrollTop == 0;
13068
+ const atBottom = Math.abs(e.detail.scrollHeight - e.detail.scrollTop - e.detail.offsetHeight) < 1;
13069
+
13070
+ _contentEl.classList.remove("scroll-top", "scroll-bottom", "scroll-middle");
13071
+
13072
+ if (atTop) {
13073
+ _contentEl.classList.add("scroll-top");
13074
+ } else if (atBottom) {
13075
+ _contentEl.classList.add("scroll-bottom");
13076
+ } else {
13077
+ _contentEl.classList.add("scroll-middle");
13078
+ }
13079
+ }
13080
+ }
13081
+
13082
+ function goa_scrollable_binding($$value) {
13083
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
13084
+ _scrollEl = $$value;
13085
+ ($$invalidate(5, _scrollEl), $$invalidate(6, _isOpen)), $$invalidate(1, open);
13086
+ });
13087
+ }
13088
+
13089
+ function div2_binding($$value) {
13090
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
13091
+ _contentEl = $$value;
13092
+ ($$invalidate(4, _contentEl), $$invalidate(6, _isOpen)), $$invalidate(1, open);
13093
+ });
13094
+ }
13048
13095
 
13049
13096
  $$self.$$set = $$props => {
13050
13097
  if ('heading' in $$props) $$invalidate(0, heading = $$props.heading);
13051
- if ('closable' in $$props) $$invalidate(9, closable = $$props.closable);
13098
+ if ('closable' in $$props) $$invalidate(12, closable = $$props.closable);
13052
13099
  if ('open' in $$props) $$invalidate(1, open = $$props.open);
13053
- if ('transition' in $$props) $$invalidate(10, transition = $$props.transition);
13100
+ if ('transition' in $$props) $$invalidate(13, transition = $$props.transition);
13054
13101
  if ('width' in $$props) $$invalidate(2, width = $$props.width);
13055
13102
  if ('calloutvariant' in $$props) $$invalidate(3, calloutvariant = $$props.calloutvariant);
13056
13103
  };
@@ -13058,45 +13105,67 @@ function instance$c($$self, $$props, $$invalidate) {
13058
13105
  $$self.$$.update = () => {
13059
13106
  if ($$self.$$.dirty &
13060
13107
  /*closable*/
13061
- 512) {
13062
- $$invalidate(4, isClosable = toBoolean(closable));
13108
+ 4096) {
13109
+ // Reactive
13110
+ $$invalidate(7, _isClosable = toBoolean(closable));
13063
13111
  }
13064
13112
 
13065
13113
  if ($$self.$$.dirty &
13066
13114
  /*open*/
13067
13115
  2) {
13068
- $$invalidate(7, isOpen = toBoolean(open));
13116
+ $$invalidate(6, _isOpen = toBoolean(open));
13117
+ }
13118
+
13119
+ if ($$self.$$.dirty &
13120
+ /*_isOpen*/
13121
+ 64) {
13122
+ if (!_isOpen) {
13123
+ // prevent null issues
13124
+ $$invalidate(4, _contentEl = $$invalidate(5, _scrollEl = null));
13125
+ }
13126
+ }
13127
+
13128
+ if ($$self.$$.dirty &
13129
+ /*_isOpen, _scrollEl, _contentEl*/
13130
+ 112) {
13131
+ if (_isOpen && _scrollEl && _contentEl) {
13132
+ const hasScroll = _scrollEl.scrollHeight > _scrollEl.offsetHeight;
13133
+
13134
+ if (hasScroll) {
13135
+ _contentEl.classList.add("scroll-top");
13136
+ }
13137
+ }
13069
13138
  }
13070
13139
 
13071
13140
  if ($$self.$$.dirty &
13072
13141
  /*transition*/
13073
- 1024) {
13074
- $$invalidate(6, _transitionTime = transition === "none" ? 0 : transition === "slow" ? 400 : 200);
13142
+ 8192) {
13143
+ $$invalidate(9, _transitionTime = transition === "none" ? 0 : transition === "slow" ? 400 : 200);
13075
13144
  }
13076
13145
 
13077
13146
  if ($$self.$$.dirty &
13078
13147
  /*calloutvariant*/
13079
13148
  8) {
13080
- $$invalidate(5, iconType = calloutvariant === "emergency" ? "warning" : calloutvariant === "important" ? "alert-circle" : calloutvariant === "information" ? "information-circle" : calloutvariant === "success" ? "checkmark-circle" : calloutvariant === "event" ? "calendar" : "");
13149
+ $$invalidate(8, _iconType = calloutvariant === "emergency" ? "warning" : calloutvariant === "important" ? "alert-circle" : calloutvariant === "information" ? "information-circle" : calloutvariant === "success" ? "checkmark-circle" : calloutvariant === "event" ? "calendar" : "");
13081
13150
  }
13082
13151
  };
13083
13152
 
13084
- return [heading, open, width, calloutvariant, isClosable, iconType, _transitionTime, isOpen, close, closable, transition];
13153
+ return [heading, open, width, calloutvariant, _contentEl, _scrollEl, _isOpen, _isClosable, _iconType, _transitionTime, close, handleScroll, closable, transition, goa_scrollable_binding, div2_binding];
13085
13154
  }
13086
13155
 
13087
13156
  class Modal extends SvelteElement {
13088
13157
  constructor(options) {
13089
13158
  super();
13090
- this.shadowRoot.innerHTML = `<style>:host{box-sizing:border-box;font-family:var(--goa-font-family-sans)}.modal{font-family:var(--goa-font-family-sans);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;height:100vh;width:100%;z-index:100}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.2);z-index:1000}.emergency{background-color:var(--goa-color-emergency-default)}.important{background-color:var(--goa-color-warning-default)}.information{background-color:var(--goa-color-info-default)}.event{background-color:var(--goa-color-info-default)}.success{background-color:var(--goa-color-success-default)}.callout-bar{flex:0 0 3rem;text-align:center;padding-top:2rem;border-radius:4px 0px 0px 4px}.content{flex:1 1 auto;width:100%;margin:2rem 2rem}.modal-pane{position:relative;background-color:#fff;z-index:1001;width:90%;display:flex;margin:1rem;box-shadow:var(--goa-shadow-modal);border-radius:4px;max-height:90%;border:1px solid var(--goa-color-greyscale-700)}@media(min-width: 640px){.modal-pane{width:var(--width, 60ch);max-height:80%}}.modal-actions ::slotted(div){margin:1.5rem 0 0}.modal-content ::slotted(:last-child){margin-bottom:0 !important}.modal-close{position:absolute;top:2rem;right:2rem}.modal-title{font-size:var(--goa-font-size-7);margin:0 0 1.5rem;margin-right:40px;flex:0 0 auto}.modal-content{line-height:1.75rem}</style>`;
13159
+ this.shadowRoot.innerHTML = `<style>:host{box-sizing:border-box;font-family:var(--goa-font-family-sans)}:host *{box-sizing:border-box}.modal{font-family:var(--goa-font-family-sans);position:fixed;inset:0;display:flex;align-items:center;justify-content:center;height:100vh;width:100%;z-index:100}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.2);z-index:1000}.emergency{background-color:var(--goa-color-emergency-default)}.important{background-color:var(--goa-color-warning-default)}.information{background-color:var(--goa-color-info-default)}.event{background-color:var(--goa-color-info-default)}.success{background-color:var(--goa-color-success-default)}.callout-bar{flex:0 0 3rem;text-align:center;padding-top:2rem;border-radius:4px 0px 0px 4px}.content{flex:1 1 auto;width:100%;margin:2rem}.content header{display:flex;align-items:center;margin-bottom:2rem;justify-content:space-between}.modal-pane{position:relative;background-color:#fff;z-index:1001;width:90%;display:flex;box-shadow:var(--goa-shadow-modal);border-radius:4px;border:1px solid var(--goa-color-greyscale-700)}@media(min-width: 640px){.modal-pane{width:var(--width, 60ch)}}.modal-actions ::slotted(*){padding:1.5rem 0 0}.modal-content{margin:0 -2rem;line-height:1.75rem}.modal-content ::slotted(:last-child){margin-bottom:0 !important}.modal-title{font-size:var(--goa-font-size-7);flex:0 0 auto}.scroll-top{box-shadow:inset 0px -8px 6px -6px rgba(0, 0, 0, 0.1)}.scroll-middle{box-shadow:inset 0px -8px 6px -6px rgba(0, 0, 0, 0.1), inset 0px 8px 6px -6px rgba(0, 0, 0, 0.1)}.scroll-bottom{box-shadow:inset 0px 8px 6px -6px rgba(0, 0, 0, 0.1)}</style>`;
13091
13160
  init(this, {
13092
13161
  target: this.shadowRoot,
13093
13162
  props: attribute_to_object(this.attributes),
13094
13163
  customElement: true
13095
13164
  }, instance$c, create_fragment$e, safe_not_equal, {
13096
13165
  heading: 0,
13097
- closable: 9,
13166
+ closable: 12,
13098
13167
  open: 1,
13099
- transition: 10,
13168
+ transition: 13,
13100
13169
  width: 2,
13101
13170
  calloutvariant: 3
13102
13171
  }, null);
@@ -13129,7 +13198,7 @@ class Modal extends SvelteElement {
13129
13198
  }
13130
13199
 
13131
13200
  get closable() {
13132
- return this.$$.ctx[9];
13201
+ return this.$$.ctx[12];
13133
13202
  }
13134
13203
 
13135
13204
  set closable(closable) {
@@ -13151,7 +13220,7 @@ class Modal extends SvelteElement {
13151
13220
  }
13152
13221
 
13153
13222
  get transition() {
13154
- return this.$$.ctx[10];
13223
+ return this.$$.ctx[13];
13155
13224
  }
13156
13225
 
13157
13226
  set transition(transition) {
@@ -14712,6 +14781,8 @@ function create_fragment$9(ctx) {
14712
14781
  let div;
14713
14782
  let slot;
14714
14783
  let div_style_value;
14784
+ let mounted;
14785
+ let dispose;
14715
14786
  return {
14716
14787
  c() {
14717
14788
  div = element("div");
@@ -14719,9 +14790,9 @@ function create_fragment$9(ctx) {
14719
14790
  this.c = noop;
14720
14791
  attr(div, "class", "goa-scrollable");
14721
14792
  attr(div, "style", div_style_value = `
14722
- --max-height: ${
14723
- /*height*/
14724
- ctx[3]};
14793
+ max-height: ${
14794
+ /*maxheight*/
14795
+ ctx[3] || "50vh"};
14725
14796
  overflow-y: ${
14726
14797
  /*direction*/
14727
14798
  ctx[0] === "vertical" ? 'auto' : 'hidden'};
@@ -14730,25 +14801,35 @@ function create_fragment$9(ctx) {
14730
14801
  ctx[0] === "horizontal" ? 'auto' : 'hidden'};
14731
14802
  margin: ${
14732
14803
  /*vpadding*/
14733
- ctx[2]}rem 0;
14804
+ ctx[2]} 0;
14734
14805
  padding: 0 ${
14735
14806
  /*hpadding*/
14736
- ctx[1]}rem;
14807
+ ctx[1]};
14737
14808
  `);
14738
14809
  },
14739
14810
 
14740
14811
  m(target, anchor) {
14741
14812
  insert(target, div, anchor);
14742
14813
  append(div, slot);
14814
+ /*div_binding*/
14815
+
14816
+ ctx[8](div);
14817
+
14818
+ if (!mounted) {
14819
+ dispose = listen(div, "scroll",
14820
+ /*onScroll*/
14821
+ ctx[5]);
14822
+ mounted = true;
14823
+ }
14743
14824
  },
14744
14825
 
14745
14826
  p(ctx, [dirty]) {
14746
14827
  if (dirty &
14747
- /*height, direction, vpadding, hpadding*/
14828
+ /*maxheight, direction, vpadding, hpadding*/
14748
14829
  15 && div_style_value !== (div_style_value = `
14749
- --max-height: ${
14750
- /*height*/
14751
- ctx[3]};
14830
+ max-height: ${
14831
+ /*maxheight*/
14832
+ ctx[3] || "50vh"};
14752
14833
  overflow-y: ${
14753
14834
  /*direction*/
14754
14835
  ctx[0] === "vertical" ? 'auto' : 'hidden'};
@@ -14757,10 +14838,10 @@ function create_fragment$9(ctx) {
14757
14838
  ctx[0] === "horizontal" ? 'auto' : 'hidden'};
14758
14839
  margin: ${
14759
14840
  /*vpadding*/
14760
- ctx[2]}rem 0;
14841
+ ctx[2]} 0;
14761
14842
  padding: 0 ${
14762
14843
  /*hpadding*/
14763
- ctx[1]}rem;
14844
+ ctx[1]};
14764
14845
  `)) {
14765
14846
  attr(div, "style", div_style_value);
14766
14847
  }
@@ -14771,6 +14852,11 @@ function create_fragment$9(ctx) {
14771
14852
 
14772
14853
  d(detaching) {
14773
14854
  if (detaching) detach(div);
14855
+ /*div_binding*/
14856
+
14857
+ ctx[8](null);
14858
+ mounted = false;
14859
+ dispose();
14774
14860
  }
14775
14861
 
14776
14862
  };
@@ -14781,29 +14867,63 @@ function instance$7($$self, $$props, $$invalidate) {
14781
14867
  direction = "vertical"
14782
14868
  } = $$props;
14783
14869
  let {
14784
- hpadding = 0
14870
+ hpadding = ""
14871
+ } = $$props;
14872
+ let {
14873
+ vpadding = ""
14785
14874
  } = $$props;
14786
14875
  let {
14787
- vpadding = 0
14876
+ maxheight = ""
14788
14877
  } = $$props;
14789
14878
  let {
14790
- height = 0
14879
+ offsetHeight
14791
14880
  } = $$props;
14881
+ let {
14882
+ scrollHeight
14883
+ } = $$props; // Private
14884
+
14885
+ let _el;
14886
+
14887
+ function onScroll(e) {
14888
+ e.target.dispatchEvent(new CustomEvent("_scroll", {
14889
+ composed: true,
14890
+ detail: {
14891
+ offsetHeight: _el.offsetHeight,
14892
+ scrollHeight: _el.scrollHeight,
14893
+ scrollTop: _el.scrollTop
14894
+ }
14895
+ }));
14896
+ e.stopPropagation();
14897
+ }
14898
+
14899
+ onMount(() => {
14900
+ $$invalidate(6, offsetHeight = _el.offsetHeight);
14901
+ $$invalidate(7, scrollHeight = _el.scrollHeight);
14902
+ });
14903
+
14904
+ function div_binding($$value) {
14905
+ binding_callbacks[$$value ? 'unshift' : 'push'](() => {
14906
+ _el = $$value;
14907
+ $$invalidate(4, _el);
14908
+ });
14909
+ }
14792
14910
 
14793
14911
  $$self.$$set = $$props => {
14794
14912
  if ('direction' in $$props) $$invalidate(0, direction = $$props.direction);
14795
14913
  if ('hpadding' in $$props) $$invalidate(1, hpadding = $$props.hpadding);
14796
14914
  if ('vpadding' in $$props) $$invalidate(2, vpadding = $$props.vpadding);
14797
- if ('height' in $$props) $$invalidate(3, height = $$props.height);
14915
+ if ('maxheight' in $$props) $$invalidate(3, maxheight = $$props.maxheight);
14916
+ if ('offsetHeight' in $$props) $$invalidate(6, offsetHeight = $$props.offsetHeight);
14917
+ if ('scrollHeight' in $$props) $$invalidate(7, scrollHeight = $$props.scrollHeight);
14798
14918
  };
14799
14919
 
14800
- return [direction, hpadding, vpadding, height];
14920
+ return [direction, hpadding, vpadding, maxheight, _el, onScroll, offsetHeight, scrollHeight, div_binding];
14801
14921
  }
14802
14922
 
14803
14923
  class Scrollable extends SvelteElement {
14804
14924
  constructor(options) {
14805
14925
  super();
14806
- this.shadowRoot.innerHTML = `<style>.goa-scrollable{scroll-behavior:smooth;max-height:calc(100vh * var(--max-height, 100) / 100)}.goa-scrollable::-webkit-scrollbar{width:6px}.goa-scrollable::-webkit-scrollbar-track{background:#f1f1f1}.goa-scrollable::-webkit-scrollbar-thumb{background:#888}.goa-scrollable::-webkit-scrollbar-thumb:hover{background:#555}</style>`;
14926
+ this.shadowRoot.innerHTML = `<style>.goa-scrollable{scroll-behavior:smooth}.goa-scrollable::-webkit-scrollbar{width:6px}.goa-scrollable::-webkit-scrollbar-track{background:#f1f1f1}.goa-scrollable::-webkit-scrollbar-thumb{background:#888}.goa-scrollable::-webkit-scrollbar-thumb:hover{background:#555}</style>`;
14807
14927
  init(this, {
14808
14928
  target: this.shadowRoot,
14809
14929
  props: attribute_to_object(this.attributes),
@@ -14812,7 +14932,9 @@ class Scrollable extends SvelteElement {
14812
14932
  direction: 0,
14813
14933
  hpadding: 1,
14814
14934
  vpadding: 2,
14815
- height: 3
14935
+ maxheight: 3,
14936
+ offsetHeight: 6,
14937
+ scrollHeight: 7
14816
14938
  }, null);
14817
14939
 
14818
14940
  if (options) {
@@ -14828,7 +14950,7 @@ class Scrollable extends SvelteElement {
14828
14950
  }
14829
14951
 
14830
14952
  static get observedAttributes() {
14831
- return ["direction", "hpadding", "vpadding", "height"];
14953
+ return ["direction", "hpadding", "vpadding", "maxheight", "offsetHeight", "scrollHeight"];
14832
14954
  }
14833
14955
 
14834
14956
  get direction() {
@@ -14864,13 +14986,35 @@ class Scrollable extends SvelteElement {
14864
14986
  flush();
14865
14987
  }
14866
14988
 
14867
- get height() {
14989
+ get maxheight() {
14868
14990
  return this.$$.ctx[3];
14869
14991
  }
14870
14992
 
14871
- set height(height) {
14993
+ set maxheight(maxheight) {
14872
14994
  this.$$set({
14873
- height
14995
+ maxheight
14996
+ });
14997
+ flush();
14998
+ }
14999
+
15000
+ get offsetHeight() {
15001
+ return this.$$.ctx[6];
15002
+ }
15003
+
15004
+ set offsetHeight(offsetHeight) {
15005
+ this.$$set({
15006
+ offsetHeight
15007
+ });
15008
+ flush();
15009
+ }
15010
+
15011
+ get scrollHeight() {
15012
+ return this.$$.ctx[7];
15013
+ }
15014
+
15015
+ set scrollHeight(scrollHeight) {
15016
+ this.$$set({
15017
+ scrollHeight
14874
15018
  });
14875
15019
  flush();
14876
15020
  }
@@ -18697,7 +18841,6 @@ const GoAModal = ({
18697
18841
  }, [el, onClose]);
18698
18842
  return jsxs("goa-modal", Object.assign({
18699
18843
  ref: el,
18700
- heading: heading,
18701
18844
  open: open,
18702
18845
  closable: !!onClose,
18703
18846
  scrollable: true,
@@ -18706,7 +18849,11 @@ const GoAModal = ({
18706
18849
  calloutVariant: calloutVariant,
18707
18850
  "data-testid": testId
18708
18851
  }, {
18709
- children: [actions && jsx("div", Object.assign({
18852
+ children: [heading && jsx("div", Object.assign({
18853
+ slot: "heading"
18854
+ }, {
18855
+ children: heading
18856
+ }), void 0), actions && jsx("div", Object.assign({
18710
18857
  slot: "actions"
18711
18858
  }, {
18712
18859
  children: actions