@esri/calcite-components 1.0.0-next.308 → 1.0.0-next.309

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/calcite/calcite.esm.js +1 -1
  2. package/dist/calcite/p-362cb320.entry.js +5 -0
  3. package/dist/calcite/p-688f06b9.entry.js +5 -0
  4. package/dist/calcite/p-8c02f97a.entry.js +5 -0
  5. package/dist/calcite/p-8e252799.system.js +1 -1
  6. package/dist/calcite/{p-243d95ab.system.entry.js → p-a5e8f022.system.entry.js} +2 -2
  7. package/dist/calcite/{p-047e1000.system.entry.js → p-b0e21c19.system.entry.js} +1 -1
  8. package/dist/calcite/p-ca6025ab.system.entry.js +5 -0
  9. package/dist/cjs/calcite-alert.cjs.entry.js +22 -5
  10. package/dist/cjs/calcite-input.cjs.entry.js +6 -5
  11. package/dist/cjs/calcite-shell_3.cjs.entry.js +156 -5
  12. package/dist/cjs/calcite.cjs.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/components/calcite-alert/calcite-alert.js +23 -4
  15. package/dist/collection/components/calcite-input/calcite-input.js +6 -5
  16. package/dist/collection/components/calcite-shell-panel/calcite-shell-panel.css +43 -0
  17. package/dist/collection/components/calcite-shell-panel/calcite-shell-panel.js +194 -5
  18. package/dist/collection/components/calcite-shell-panel/resources.js +5 -1
  19. package/dist/components/calcite-alert.js +22 -5
  20. package/dist/components/calcite-input2.js +6 -5
  21. package/dist/components/calcite-shell-panel.js +161 -7
  22. package/dist/custom-elements/index.js +277 -109
  23. package/dist/esm/calcite-alert.entry.js +22 -5
  24. package/dist/esm/calcite-input.entry.js +6 -5
  25. package/dist/esm/calcite-shell_3.entry.js +157 -6
  26. package/dist/esm/calcite.js +1 -1
  27. package/dist/esm/loader.js +1 -1
  28. package/dist/esm-es5/calcite-alert.entry.js +2 -2
  29. package/dist/esm-es5/calcite-input.entry.js +1 -1
  30. package/dist/esm-es5/calcite-shell_3.entry.js +1 -1
  31. package/dist/esm-es5/calcite.js +1 -1
  32. package/dist/esm-es5/loader.js +1 -1
  33. package/dist/extras/docs-json.json +40 -1
  34. package/dist/types/components/calcite-alert/calcite-alert.d.ts +3 -0
  35. package/dist/types/components/calcite-shell-panel/calcite-shell-panel.d.ts +31 -0
  36. package/dist/types/components/calcite-shell-panel/resources.d.ts +4 -0
  37. package/dist/types/components.d.ts +18 -0
  38. package/hydrate/index.js +281 -110
  39. package/package.json +1 -1
  40. package/readme.md +2 -2
  41. package/dist/calcite/p-5c0c29bc.entry.js +0 -5
  42. package/dist/calcite/p-5f817b79.entry.js +0 -5
  43. package/dist/calcite/p-75955cef.entry.js +0 -5
  44. package/dist/calcite/p-b1a96c72.system.entry.js +0 -5
@@ -180,7 +180,7 @@ const CSS_UTILITY = {
180
180
  lightTheme,
181
181
  rtl: "calcite--rtl"
182
182
  };
183
- const TEXT$p = {
183
+ const TEXT$q = {
184
184
  loading: "Loading"
185
185
  };
186
186
 
@@ -461,7 +461,7 @@ const CSS$O = {
461
461
  textContainer: "text-container",
462
462
  textContainerVisible: "text-container--visible"
463
463
  };
464
- const TEXT$o = {
464
+ const TEXT$p = {
465
465
  loading: "Loading"
466
466
  };
467
467
 
@@ -514,7 +514,7 @@ let CalciteAction$1 = class extends HTMLElement$1 {
514
514
  /** string to override English loading text
515
515
  * @default "Loading"
516
516
  */
517
- this.intlLoading = TEXT$o.loading;
517
+ this.intlLoading = TEXT$p.loading;
518
518
  /**
519
519
  * When true, content is waiting to be loaded. This state shows a busy indicator.
520
520
  */
@@ -618,7 +618,7 @@ const SLOTS$o = {
618
618
  menuActions: "menu-actions",
619
619
  menuTooltip: "menu-tooltip"
620
620
  };
621
- const TEXT$n = {
621
+ const TEXT$o = {
622
622
  more: "More"
623
623
  };
624
624
  const ICONS$e = {
@@ -709,7 +709,7 @@ const SLOTS$n = {
709
709
  bottomActions: "bottom-actions",
710
710
  expandTooltip: "expand-tooltip"
711
711
  };
712
- const TEXT$m = {
712
+ const TEXT$n = {
713
713
  expand: "Expand",
714
714
  collapse: "Collapse"
715
715
  };
@@ -2136,8 +2136,8 @@ let CalciteActionBar$1 = class extends HTMLElement$1 {
2136
2136
  renderBottomActionGroup() {
2137
2137
  const { expanded, expandDisabled, intlExpand, intlCollapse, el, position, toggleExpand, scale } = this;
2138
2138
  const tooltip = getSlotted(el, SLOTS$n.expandTooltip);
2139
- const expandLabel = intlExpand || TEXT$m.expand;
2140
- const collapseLabel = intlCollapse || TEXT$m.collapse;
2139
+ const expandLabel = intlExpand || TEXT$n.expand;
2140
+ const collapseLabel = intlCollapse || TEXT$n.collapse;
2141
2141
  const expandToggleNode = !expandDisabled ? (h(CalciteExpandToggle, { el: el, expanded: expanded, intlCollapse: collapseLabel, intlExpand: expandLabel, position: position, ref: this.setExpandToggleRef, scale: scale, toggle: toggleExpand, tooltip: tooltip })) : null;
2142
2142
  return getSlotted(el, SLOTS$n.bottomActions) || expandToggleNode ? (h("calcite-action-group", { class: CSS$M.actionGroupBottom, scale: scale }, h("slot", { name: SLOTS$n.bottomActions }), h("slot", { name: SLOTS$n.expandTooltip }), expandToggleNode)) : null;
2143
2143
  }
@@ -2202,7 +2202,7 @@ let CalciteActionGroup$1 = class extends HTMLElement$1 {
2202
2202
  renderMenu() {
2203
2203
  const { el, expanded, intlMore, menuOpen, scale } = this;
2204
2204
  const hasMenuItems = getSlotted(el, SLOTS$o.menuActions);
2205
- return hasMenuItems ? (h("calcite-action-menu", { expanded: expanded, flipPlacements: ["left", "right"], label: intlMore || TEXT$n.more, onCalciteActionMenuOpenChange: this.setMenuOpen, open: menuOpen, placement: "leading-start", scale: scale }, h("calcite-action", { icon: ICONS$e.menu, scale: scale, slot: SLOTS$p.trigger, text: intlMore || TEXT$n.more, textEnabled: expanded }), h("slot", { name: SLOTS$o.menuActions }), this.renderTooltip())) : null;
2205
+ return hasMenuItems ? (h("calcite-action-menu", { expanded: expanded, flipPlacements: ["left", "right"], label: intlMore || TEXT$o.more, onCalciteActionMenuOpenChange: this.setMenuOpen, open: menuOpen, placement: "leading-start", scale: scale }, h("calcite-action", { icon: ICONS$e.menu, scale: scale, slot: SLOTS$p.trigger, text: intlMore || TEXT$o.more, textEnabled: expanded }), h("slot", { name: SLOTS$o.menuActions }), this.renderTooltip())) : null;
2206
2206
  }
2207
2207
  render() {
2208
2208
  return (h(Fragment, null, h("slot", null), this.renderMenu()));
@@ -2501,7 +2501,7 @@ const CSS$L = {
2501
2501
  actionGroupBottom: "action-group--bottom",
2502
2502
  container: "container"
2503
2503
  };
2504
- const TEXT$l = {
2504
+ const TEXT$m = {
2505
2505
  expand: "Expand",
2506
2506
  collapse: "Collapse"
2507
2507
  };
@@ -2599,8 +2599,8 @@ let CalciteActionPad$1 = class extends HTMLElement$1 {
2599
2599
  renderBottomActionGroup() {
2600
2600
  const { expanded, expandDisabled, intlExpand, intlCollapse, el, position, toggleExpand, scale } = this;
2601
2601
  const tooltip = getSlotted(el, SLOTS$m.expandTooltip);
2602
- const expandLabel = intlExpand || TEXT$l.expand;
2603
- const collapseLabel = intlCollapse || TEXT$l.collapse;
2602
+ const expandLabel = intlExpand || TEXT$m.expand;
2603
+ const collapseLabel = intlCollapse || TEXT$m.collapse;
2604
2604
  const expandToggleNode = !expandDisabled ? (h(CalciteExpandToggle, { el: el, expanded: expanded, intlCollapse: collapseLabel, intlExpand: expandLabel, position: position, ref: this.setExpandToggleRef, scale: scale, toggle: toggleExpand, tooltip: tooltip })) : null;
2605
2605
  return expandToggleNode ? (h("calcite-action-group", { class: CSS$L.actionGroupBottom, scale: scale }, h("slot", { name: SLOTS$m.expandTooltip }), expandToggleNode)) : null;
2606
2606
  }
@@ -2620,7 +2620,7 @@ let CalciteActionPad$1 = class extends HTMLElement$1 {
2620
2620
  static get style() { return calciteActionPadCss; }
2621
2621
  };
2622
2622
 
2623
- const TEXT$k = {
2623
+ const TEXT$l = {
2624
2624
  intlClose: "Close"
2625
2625
  };
2626
2626
  const DURATIONS = {
@@ -2669,7 +2669,7 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2669
2669
  /** string to override English close text
2670
2670
  * @default "Close"
2671
2671
  */
2672
- this.intlClose = TEXT$k.intlClose;
2672
+ this.intlClose = TEXT$l.intlClose;
2673
2673
  /** specify the scale of the button, defaults to m */
2674
2674
  this.scale = "m";
2675
2675
  //--------------------------------------------------------------------------
@@ -2683,8 +2683,13 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2683
2683
  this.queueLength = 0;
2684
2684
  /** is the alert queued */
2685
2685
  this.queued = false;
2686
+ this.autoDismissTimeout = null;
2687
+ this.trackTimer = new Date();
2686
2688
  /** close and emit the closed alert and the queue */
2687
2689
  this.closeAlert = () => {
2690
+ if (this.autoDismissTimeout) {
2691
+ this.autoDismissTimeout = null;
2692
+ }
2688
2693
  this.queued = false;
2689
2694
  this.active = false;
2690
2695
  this.queue = this.queue.filter((e) => e !== this.el);
@@ -2708,6 +2713,12 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2708
2713
  updateRequestedIcon() {
2709
2714
  this.requestedIcon = setRequestedIcon(StatusIcons, this.icon, this.color);
2710
2715
  }
2716
+ updateDuration(newDuration, prevDuration) {
2717
+ if (this.autoDismiss && prevDuration !== newDuration && this.autoDismissTimeout) {
2718
+ window.clearTimeout(this.autoDismissTimeout);
2719
+ this.autoDismissTimeout = window.setTimeout(() => this.closeAlert(), DURATIONS[this.autoDismissDuration] - (new Date().valueOf() - this.trackTimer.valueOf()));
2720
+ }
2721
+ }
2711
2722
  //--------------------------------------------------------------------------
2712
2723
  //
2713
2724
  // Lifecycle
@@ -2724,20 +2735,25 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2724
2735
  componentDidLoad() {
2725
2736
  this.alertLinkEl = this.el.querySelectorAll("calcite-link")[0];
2726
2737
  }
2738
+ disconnectedCallback() {
2739
+ if (this.autoDismissTimeout) {
2740
+ window.clearTimeout(this.autoDismissTimeout);
2741
+ }
2742
+ }
2727
2743
  render() {
2728
2744
  const dir = getElementDir(this.el);
2729
2745
  const closeButton = (h("button", { "aria-label": this.intlClose, class: "alert-close", onClick: this.closeAlert, ref: (el) => (this.closeButton = el), type: "button" }, h("calcite-icon", { icon: "x", scale: this.scale === "l" ? "m" : "s" })));
2730
2746
  const queueText = `+${this.queueLength > 2 ? this.queueLength - 1 : 1}`;
2731
2747
  const queueCount = (h("div", { class: `${this.queueLength > 1 ? "active " : ""}alert-queue-count` }, h("calcite-chip", { scale: this.scale, value: queueText }, queueText)));
2732
2748
  const { active, autoDismiss, label, queued, requestedIcon } = this;
2733
- const progress = h("div", { class: "alert-dismiss-progress" });
2749
+ const progressBar = h("div", { class: "alert-dismiss-progress" });
2734
2750
  const role = autoDismiss ? "alert" : "alertdialog";
2735
2751
  const hidden = !active;
2736
2752
  return (h(Host, { "aria-hidden": hidden.toString(), "aria-label": label, "calcite-hydrated-hidden": hidden, role: role }, h("div", { class: {
2737
2753
  container: true,
2738
2754
  queued,
2739
2755
  [CSS_UTILITY.rtl]: dir === "rtl"
2740
- } }, requestedIcon ? (h("div", { class: "alert-icon" }, h("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, h("div", { class: "alert-content" }, h("slot", { name: SLOTS$l.title }), h("slot", { name: SLOTS$l.message }), h("slot", { name: SLOTS$l.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? progress : null)));
2756
+ } }, requestedIcon ? (h("div", { class: "alert-icon" }, h("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, h("div", { class: "alert-content" }, h("slot", { name: SLOTS$l.title }), h("slot", { name: SLOTS$l.message }), h("slot", { name: SLOTS$l.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? progressBar : null)));
2741
2757
  }
2742
2758
  // when an alert is opened or closed, update queue and determine active alert
2743
2759
  alertSync(event) {
@@ -2783,8 +2799,8 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2783
2799
  var _a;
2784
2800
  if (((_a = this.queue) === null || _a === void 0 ? void 0 : _a[0]) === this.el) {
2785
2801
  this.openAlert();
2786
- clearTimeout(this.autoDismissTimeout);
2787
- if (this.autoDismiss) {
2802
+ if (this.autoDismiss && !this.autoDismissTimeout) {
2803
+ this.trackTimer = new Date();
2788
2804
  this.autoDismissTimeout = window.setTimeout(() => this.closeAlert(), DURATIONS[this.autoDismissDuration]);
2789
2805
  }
2790
2806
  }
@@ -2805,7 +2821,8 @@ let CalciteAlert$1 = class extends HTMLElement$1 {
2805
2821
  static get watchers() { return {
2806
2822
  "active": ["watchActive"],
2807
2823
  "icon": ["updateRequestedIcon"],
2808
- "color": ["updateRequestedIcon"]
2824
+ "color": ["updateRequestedIcon"],
2825
+ "autoDismissDuration": ["updateDuration"]
2809
2826
  }; }
2810
2827
  static get style() { return calciteAlertCss; }
2811
2828
  };
@@ -3070,7 +3087,7 @@ const CSS$K = {
3070
3087
  invalid: "invalid",
3071
3088
  loading: "loading"
3072
3089
  };
3073
- const TEXT$j = {
3090
+ const TEXT$k = {
3074
3091
  collapse: "Collapse",
3075
3092
  expand: "Expand",
3076
3093
  loading: "Loading",
@@ -3127,11 +3144,11 @@ let CalciteBlock$1 = class extends HTMLElement$1 {
3127
3144
  /** string to override English loading text
3128
3145
  * @default "Loading"
3129
3146
  */
3130
- this.intlLoading = TEXT$j.loading;
3147
+ this.intlLoading = TEXT$k.loading;
3131
3148
  /** Text string used for the actions menu
3132
3149
  * @default "Options"
3133
3150
  */
3134
- this.intlOptions = TEXT$j.options;
3151
+ this.intlOptions = TEXT$k.options;
3135
3152
  /**
3136
3153
  * When true, content is waiting to be loaded. This state shows a busy indicator.
3137
3154
  */
@@ -3175,12 +3192,12 @@ let CalciteBlock$1 = class extends HTMLElement$1 {
3175
3192
  }
3176
3193
  render() {
3177
3194
  const { collapsible, disabled, el, heading, intlCollapse, intlExpand, loading, open, summary, intlLoading, headingLevel } = this;
3178
- const toggleLabel = open ? intlCollapse || TEXT$j.collapse : intlExpand || TEXT$j.expand;
3195
+ const toggleLabel = open ? intlCollapse || TEXT$k.collapse : intlExpand || TEXT$k.expand;
3179
3196
  const headerContent = (h("header", { class: CSS$K.header }, this.renderIcon(), h("div", { class: CSS$K.title }, h(CalciteHeading, { class: CSS$K.heading, level: headingLevel || HEADING_LEVEL$7 }, heading), summary ? h("div", { class: CSS$K.summary }, summary) : null)));
3180
3197
  const hasControl = !!getSlotted(el, SLOTS$k.control);
3181
3198
  const hasMenuActions = !!getSlotted(el, SLOTS$k.headerMenuActions);
3182
3199
  const collapseIcon = open ? ICONS$c.opened : ICONS$c.closed;
3183
- const headerNode = (h("div", { class: CSS$K.headerContainer }, this.dragHandle ? h("calcite-handle", null) : null, collapsible ? (h("button", { "aria-expanded": collapsible ? open.toString() : null, "aria-label": toggleLabel, class: CSS$K.toggle, onClick: this.onHeaderClick, title: toggleLabel }, headerContent, !hasControl && !hasMenuActions ? (h("calcite-icon", { "aria-hidden": "true", class: CSS$K.toggleIcon, icon: collapseIcon, scale: "s" })) : null)) : (headerContent), loading ? (h("calcite-loader", { inline: true, "is-active": true, label: intlLoading })) : hasControl ? (h("div", { class: CSS$K.controlContainer }, h("slot", { name: SLOTS$k.control }))) : null, hasMenuActions ? (h("calcite-action-menu", { label: this.intlOptions || TEXT$j.options }, h("slot", { name: SLOTS$k.headerMenuActions }))) : null));
3200
+ const headerNode = (h("div", { class: CSS$K.headerContainer }, this.dragHandle ? h("calcite-handle", null) : null, collapsible ? (h("button", { "aria-expanded": collapsible ? open.toString() : null, "aria-label": toggleLabel, class: CSS$K.toggle, onClick: this.onHeaderClick, title: toggleLabel }, headerContent, !hasControl && !hasMenuActions ? (h("calcite-icon", { "aria-hidden": "true", class: CSS$K.toggleIcon, icon: collapseIcon, scale: "s" })) : null)) : (headerContent), loading ? (h("calcite-loader", { inline: true, "is-active": true, label: intlLoading })) : hasControl ? (h("div", { class: CSS$K.controlContainer }, h("slot", { name: SLOTS$k.control }))) : null, hasMenuActions ? (h("calcite-action-menu", { label: this.intlOptions || TEXT$k.options }, h("slot", { name: SLOTS$k.headerMenuActions }))) : null));
3184
3201
  return (h(Host, { tabIndex: disabled ? -1 : null }, h("article", { "aria-busy": loading.toString(), class: {
3185
3202
  [CSS$K.article]: true
3186
3203
  } }, headerNode, h("div", { class: CSS$K.content, hidden: !open }, this.renderScrim()))));
@@ -3201,7 +3218,7 @@ const CSS$J = {
3201
3218
  statusIcon: "status-icon",
3202
3219
  valid: "valid"
3203
3220
  };
3204
- const TEXT$i = {
3221
+ const TEXT$j = {
3205
3222
  collapse: "Collapse",
3206
3223
  expand: "Expand"
3207
3224
  };
@@ -3272,7 +3289,7 @@ let CalciteBlockSection$1 = class extends HTMLElement$1 {
3272
3289
  : dir === "rtl"
3273
3290
  ? ICONS$b.menuClosedLeft
3274
3291
  : ICONS$b.menuClosedRight;
3275
- const toggleLabel = open ? intlCollapse || TEXT$i.collapse : intlExpand || TEXT$i.expand;
3292
+ const toggleLabel = open ? intlCollapse || TEXT$j.collapse : intlExpand || TEXT$j.expand;
3276
3293
  const headerNode = toggleDisplay === "switch" ? (h("div", { "aria-label": toggleLabel, class: {
3277
3294
  [CSS$J.toggle]: true,
3278
3295
  [CSS$J.toggleSwitch]: true
@@ -3324,7 +3341,7 @@ const CSS$I = {
3324
3341
  loadingIn: "loading-in",
3325
3342
  loadingOut: "loading-out"
3326
3343
  };
3327
- const TEXT$h = {
3344
+ const TEXT$i = {
3328
3345
  loading: "Loading"
3329
3346
  };
3330
3347
 
@@ -3427,7 +3444,7 @@ let CalciteButton$1 = class extends HTMLElement$1 {
3427
3444
  /** string to override English loading text
3428
3445
  * @default "Loading"
3429
3446
  */
3430
- this.intlLoading = TEXT$h.loading;
3447
+ this.intlLoading = TEXT$i.loading;
3431
3448
  /** optionally add a calcite-loader component to the button, disabling interaction. */
3432
3449
  this.loading = false;
3433
3450
  /** optionally add a round style to the button */
@@ -3562,7 +3579,7 @@ const SLOTS$j = {
3562
3579
  footerLeading: "footer-leading",
3563
3580
  footerTrailing: "footer-trailing"
3564
3581
  };
3565
- const TEXT$g = {
3582
+ const TEXT$h = {
3566
3583
  select: "Select",
3567
3584
  deselect: "Deselect",
3568
3585
  loading: "Loading"
@@ -3590,15 +3607,15 @@ let CalciteCard$1 = class extends HTMLElement$1 {
3590
3607
  /** string to override English loading text
3591
3608
  * @default "Loading"
3592
3609
  */
3593
- this.intlLoading = TEXT$g.loading;
3610
+ this.intlLoading = TEXT$h.loading;
3594
3611
  /** string to override English select text for checkbox when selectable is true
3595
3612
  * @default "Select"
3596
3613
  */
3597
- this.intlSelect = TEXT$g.select;
3614
+ this.intlSelect = TEXT$h.select;
3598
3615
  /** string to override English deselect text for checkbox when selectable is true
3599
3616
  * @default "Deselect"
3600
3617
  */
3601
- this.intlDeselect = TEXT$g.deselect;
3618
+ this.intlDeselect = TEXT$h.deselect;
3602
3619
  //--------------------------------------------------------------------------
3603
3620
  //
3604
3621
  // Private State/Props
@@ -3950,7 +3967,7 @@ const CSS$G = {
3950
3967
  chipImageContainer: "chip-image-container",
3951
3968
  calciteChipIcon: "calcite-chip--icon"
3952
3969
  };
3953
- const TEXT$f = {
3970
+ const TEXT$g = {
3954
3971
  close: "Close"
3955
3972
  };
3956
3973
  const SLOTS$i = {
@@ -3982,7 +3999,7 @@ let CalciteChip$1 = class extends HTMLElement$1 {
3982
3999
  /** Aria label for the "x" button
3983
4000
  * @default "Close"
3984
4001
  */
3985
- this.dismissLabel = TEXT$f.close;
4002
+ this.dismissLabel = TEXT$g.close;
3986
4003
  /** flip the icon in rtl */
3987
4004
  this.iconFlipRtl = false;
3988
4005
  /** specify the scale of the chip, defaults to m */
@@ -6162,7 +6179,7 @@ const HSV_LIMITS = {
6162
6179
  s: 100,
6163
6180
  v: 100
6164
6181
  };
6165
- const TEXT$e = {
6182
+ const TEXT$f = {
6166
6183
  b: "B",
6167
6184
  blue: "Blue",
6168
6185
  deleteColor: "Delete color",
@@ -6285,80 +6302,80 @@ let CalciteColorPicker$1 = class extends HTMLElement$1 {
6285
6302
  /** Label used for the blue channel
6286
6303
  * @default "B"
6287
6304
  */
6288
- this.intlB = TEXT$e.b;
6305
+ this.intlB = TEXT$f.b;
6289
6306
  /** Label used for the blue channel description
6290
6307
  * @default "Blue"
6291
6308
  */
6292
- this.intlBlue = TEXT$e.blue;
6309
+ this.intlBlue = TEXT$f.blue;
6293
6310
  /** Label used for the delete color button.
6294
6311
  * @default "Delete color"
6295
6312
  */
6296
- this.intlDeleteColor = TEXT$e.deleteColor;
6313
+ this.intlDeleteColor = TEXT$f.deleteColor;
6297
6314
  /** Label used for the green channel
6298
6315
  * @default "G"
6299
6316
  */
6300
- this.intlG = TEXT$e.g;
6317
+ this.intlG = TEXT$f.g;
6301
6318
  /** Label used for the green channel description
6302
6319
  * @default "Green"
6303
6320
  */
6304
- this.intlGreen = TEXT$e.green;
6321
+ this.intlGreen = TEXT$f.green;
6305
6322
  /** Label used for the hue channel
6306
6323
  * @default "H"
6307
6324
  */
6308
- this.intlH = TEXT$e.h;
6325
+ this.intlH = TEXT$f.h;
6309
6326
  /** Label used for the HSV mode
6310
6327
  * @default "HSV"
6311
6328
  */
6312
- this.intlHsv = TEXT$e.hsv;
6329
+ this.intlHsv = TEXT$f.hsv;
6313
6330
  /** Label used for the hex input
6314
6331
  * @default "Hex"
6315
6332
  */
6316
- this.intlHex = TEXT$e.hex;
6333
+ this.intlHex = TEXT$f.hex;
6317
6334
  /** Label used for the hue channel description
6318
6335
  * @default "Hue"
6319
6336
  */
6320
- this.intlHue = TEXT$e.hue;
6337
+ this.intlHue = TEXT$f.hue;
6321
6338
  /**
6322
6339
  * Label used for the hex input when there is no color selected.
6323
6340
  * @default "No color"
6324
6341
  */
6325
- this.intlNoColor = TEXT$e.noColor;
6342
+ this.intlNoColor = TEXT$f.noColor;
6326
6343
  /** Label used for the red channel
6327
6344
  * @default "R"
6328
6345
  */
6329
- this.intlR = TEXT$e.r;
6346
+ this.intlR = TEXT$f.r;
6330
6347
  /** Label used for the red channel description
6331
6348
  * @default "Red"
6332
6349
  */
6333
- this.intlRed = TEXT$e.red;
6350
+ this.intlRed = TEXT$f.red;
6334
6351
  /** Label used for the RGB mode
6335
6352
  * @default "RGB"
6336
6353
  */
6337
- this.intlRgb = TEXT$e.rgb;
6354
+ this.intlRgb = TEXT$f.rgb;
6338
6355
  /** Label used for the saturation channel
6339
6356
  * @default "S"
6340
6357
  */
6341
- this.intlS = TEXT$e.s;
6358
+ this.intlS = TEXT$f.s;
6342
6359
  /** Label used for the saturation channel description
6343
6360
  * @default "Saturation"
6344
6361
  */
6345
- this.intlSaturation = TEXT$e.saturation;
6362
+ this.intlSaturation = TEXT$f.saturation;
6346
6363
  /** Label used for the save color button.
6347
6364
  * @default "Save color"
6348
6365
  */
6349
- this.intlSaveColor = TEXT$e.saveColor;
6366
+ this.intlSaveColor = TEXT$f.saveColor;
6350
6367
  /** Label used for the saved colors section
6351
6368
  * @default "Saved"
6352
6369
  */
6353
- this.intlSaved = TEXT$e.saved;
6370
+ this.intlSaved = TEXT$f.saved;
6354
6371
  /** Label used for the value channel
6355
6372
  * @default "V"
6356
6373
  */
6357
- this.intlV = TEXT$e.v;
6374
+ this.intlV = TEXT$f.v;
6358
6375
  /** Label used for the
6359
6376
  * @default "Value"
6360
6377
  */
6361
- this.intlValue = TEXT$e.value;
6378
+ this.intlValue = TEXT$f.value;
6362
6379
  /**
6363
6380
  * The scale of the color picker.
6364
6381
  */
@@ -7036,12 +7053,12 @@ let CalciteColorPickerHexInput$1 = class extends HTMLElement$1 {
7036
7053
  * Label used for the hex input.
7037
7054
  * @default "Hex"
7038
7055
  */
7039
- this.intlHex = TEXT$e.hex;
7056
+ this.intlHex = TEXT$f.hex;
7040
7057
  /**
7041
7058
  * Label used for the hex input when there is no color selected.
7042
7059
  * @default "No color"
7043
7060
  */
7044
- this.intlNoColor = TEXT$e.noColor;
7061
+ this.intlNoColor = TEXT$f.noColor;
7045
7062
  /**
7046
7063
  * The component's scale.
7047
7064
  */
@@ -7530,7 +7547,7 @@ function contains(parent, child) {
7530
7547
  return false;
7531
7548
  }
7532
7549
 
7533
- function getComputedStyle(element) {
7550
+ function getComputedStyle$1(element) {
7534
7551
  return getWindow(element).getComputedStyle(element);
7535
7552
  }
7536
7553
 
@@ -7563,7 +7580,7 @@ function getParentNode(element) {
7563
7580
 
7564
7581
  function getTrueOffsetParent(element) {
7565
7582
  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
7566
- getComputedStyle(element).position === 'fixed') {
7583
+ getComputedStyle$1(element).position === 'fixed') {
7567
7584
  return null;
7568
7585
  }
7569
7586
 
@@ -7578,7 +7595,7 @@ function getContainingBlock(element) {
7578
7595
 
7579
7596
  if (isIE && isHTMLElement(element)) {
7580
7597
  // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
7581
- var elementCss = getComputedStyle(element);
7598
+ var elementCss = getComputedStyle$1(element);
7582
7599
 
7583
7600
  if (elementCss.position === 'fixed') {
7584
7601
  return null;
@@ -7588,7 +7605,7 @@ function getContainingBlock(element) {
7588
7605
  var currentNode = getParentNode(element);
7589
7606
 
7590
7607
  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
7591
- var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that
7608
+ var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
7592
7609
  // create a containing block.
7593
7610
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
7594
7611
 
@@ -7608,11 +7625,11 @@ function getOffsetParent(element) {
7608
7625
  var window = getWindow(element);
7609
7626
  var offsetParent = getTrueOffsetParent(element);
7610
7627
 
7611
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
7628
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
7612
7629
  offsetParent = getTrueOffsetParent(offsetParent);
7613
7630
  }
7614
7631
 
7615
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {
7632
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) {
7616
7633
  return window;
7617
7634
  }
7618
7635
 
@@ -7790,7 +7807,7 @@ function mapToStyles(_ref2) {
7790
7807
  if (offsetParent === getWindow(popper)) {
7791
7808
  offsetParent = getDocumentElement(popper);
7792
7809
 
7793
- if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
7810
+ if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
7794
7811
  heightProp = 'scrollHeight';
7795
7812
  widthProp = 'scrollWidth';
7796
7813
  }
@@ -8019,7 +8036,7 @@ function getDocumentRect(element) {
8019
8036
  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
8020
8037
  var y = -winScroll.scrollTop;
8021
8038
 
8022
- if (getComputedStyle(body || html).direction === 'rtl') {
8039
+ if (getComputedStyle$1(body || html).direction === 'rtl') {
8023
8040
  x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
8024
8041
  }
8025
8042
 
@@ -8033,7 +8050,7 @@ function getDocumentRect(element) {
8033
8050
 
8034
8051
  function isScrollParent(element) {
8035
8052
  // Firefox wants us to check `-x` and `-y` variations as well
8036
- var _getComputedStyle = getComputedStyle(element),
8053
+ var _getComputedStyle = getComputedStyle$1(element),
8037
8054
  overflow = _getComputedStyle.overflow,
8038
8055
  overflowX = _getComputedStyle.overflowX,
8039
8056
  overflowY = _getComputedStyle.overflowY;
@@ -8108,7 +8125,7 @@ function getClientRectFromMixedType(element, clippingParent) {
8108
8125
 
8109
8126
  function getClippingParents(element) {
8110
8127
  var clippingParents = listScrollParents(getParentNode(element));
8111
- var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;
8128
+ var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0;
8112
8129
  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
8113
8130
 
8114
8131
  if (!isElement(clipperElement)) {
@@ -10334,7 +10351,7 @@ function getDaysDiff(date1, date2) {
10334
10351
  }
10335
10352
 
10336
10353
  const HEADING_LEVEL$6 = 2;
10337
- const TEXT$d = {
10354
+ const TEXT$e = {
10338
10355
  nextMonth: "Next month",
10339
10356
  prevMonth: "Previous month"
10340
10357
  };
@@ -10351,11 +10368,11 @@ let CalciteDatePicker$1 = class extends HTMLElement$1 {
10351
10368
  /** Localized string for "previous month" (used for aria label)
10352
10369
  * @default "Previous month"
10353
10370
  */
10354
- this.intlPrevMonth = TEXT$d.prevMonth;
10371
+ this.intlPrevMonth = TEXT$e.prevMonth;
10355
10372
  /** Localized string for "next month" (used for aria label)
10356
10373
  * @default "Next month"
10357
10374
  */
10358
- this.intlNextMonth = TEXT$d.nextMonth;
10375
+ this.intlNextMonth = TEXT$e.nextMonth;
10359
10376
  /** BCP 47 language tag for desired language and country format */
10360
10377
  this.locale = document.documentElement.lang || "en";
10361
10378
  /** specify the scale of the date picker */
@@ -11845,7 +11862,7 @@ const CSS$w = {
11845
11862
  searchIcon: "search-icon",
11846
11863
  clearButton: "clear-button"
11847
11864
  };
11848
- const TEXT$c = {
11865
+ const TEXT$d = {
11849
11866
  filterLabel: "Filter",
11850
11867
  clear: "Clear filter"
11851
11868
  };
@@ -11961,9 +11978,9 @@ let CalciteFilter$1 = class extends HTMLElement$1 {
11961
11978
  render() {
11962
11979
  const rtl = getElementDir(this.el) === "rtl";
11963
11980
  const { disabled } = this;
11964
- return (h(Fragment, null, disabled ? h("calcite-scrim", null) : null, h("div", { class: CSS$w.container }, h("label", { class: rtl ? CSS_UTILITY.rtl : null }, h("calcite-input", { "aria-label": this.intlLabel || TEXT$c.filterLabel, class: rtl ? CSS_UTILITY.rtl : null, disabled: this.disabled, icon: ICONS$8.search, onCalciteInputInput: this.inputHandler, onKeyDown: this.keyDownHandler, placeholder: this.placeholder, ref: (el) => {
11981
+ return (h(Fragment, null, disabled ? h("calcite-scrim", null) : null, h("div", { class: CSS$w.container }, h("label", { class: rtl ? CSS_UTILITY.rtl : null }, h("calcite-input", { "aria-label": this.intlLabel || TEXT$d.filterLabel, class: rtl ? CSS_UTILITY.rtl : null, disabled: this.disabled, icon: ICONS$8.search, onCalciteInputInput: this.inputHandler, onKeyDown: this.keyDownHandler, placeholder: this.placeholder, ref: (el) => {
11965
11982
  this.textInput = el;
11966
- }, type: "text", value: this.value })), this.value ? (h("button", { "aria-label": this.intlClear || TEXT$c.clear, class: CSS$w.clearButton, onClick: this.clear }, h("calcite-icon", { icon: ICONS$8.close }))) : null)));
11983
+ }, type: "text", value: this.value })), this.value ? (h("button", { "aria-label": this.intlClear || TEXT$d.clear, class: CSS$w.clearButton, onClick: this.clear }, h("calcite-icon", { icon: ICONS$8.close }))) : null)));
11967
11984
  }
11968
11985
  get el() { return this; }
11969
11986
  static get watchers() { return {
@@ -12512,7 +12529,7 @@ const CSS$s = {
12512
12529
  enableEditingButton: "enable-editing-button",
12513
12530
  controlsWrapper: "controls-wrapper"
12514
12531
  };
12515
- const TEXT$b = {
12532
+ const TEXT$c = {
12516
12533
  intlEnablingEditing: "Click to edit",
12517
12534
  intlCancelEditing: "Cancel",
12518
12535
  intlConfirmChanges: "Save"
@@ -12544,15 +12561,15 @@ let CalciteInlineEditable$1 = class extends HTMLElement$1 {
12544
12561
  /** specify text to be user for the enable editing button's aria-label, defaults to `Click to edit`
12545
12562
  * @default "Click to edit"
12546
12563
  */
12547
- this.intlEnableEditing = TEXT$b.intlEnablingEditing;
12564
+ this.intlEnableEditing = TEXT$c.intlEnablingEditing;
12548
12565
  /** specify text to be user for the cancel editing button's aria-label, defaults to `Cancel`
12549
12566
  * @default "Cancel"
12550
12567
  */
12551
- this.intlCancelEditing = TEXT$b.intlCancelEditing;
12568
+ this.intlCancelEditing = TEXT$c.intlCancelEditing;
12552
12569
  /** specify text to be user for the confirm changes button's aria-label, defaults to `Save`
12553
12570
  * @default "Save"
12554
12571
  */
12555
- this.intlConfirmChanges = TEXT$b.intlConfirmChanges;
12572
+ this.intlConfirmChanges = TEXT$c.intlConfirmChanges;
12556
12573
  this.transitionEnd = (event) => {
12557
12574
  if (!this.editingEnabled && !!this.shouldEmitCancel) {
12558
12575
  this.calciteInlineEditableEditingCancel.emit(event);
@@ -12764,7 +12781,7 @@ let CalciteInput$1 = class extends HTMLElement$1 {
12764
12781
  * string to override English loading text
12765
12782
  * @default "Loading"
12766
12783
  */
12767
- this.intlLoading = TEXT$p.loading;
12784
+ this.intlLoading = TEXT$q.loading;
12768
12785
  /** flip the icon in rtl */
12769
12786
  this.iconFlipRtl = false;
12770
12787
  /** specify if the input is in loading state */
@@ -12922,12 +12939,13 @@ let CalciteInput$1 = class extends HTMLElement$1 {
12922
12939
  const inputMin = this.minString ? parseFloat(this.minString) : null;
12923
12940
  const valueNudgeDelayInMs = 100;
12924
12941
  this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent);
12925
- let nudgeNumberValueIntervalCount = 0;
12942
+ let firstValueNudge = true;
12926
12943
  this.nudgeNumberValueIntervalId = setInterval(() => {
12927
- nudgeNumberValueIntervalCount !== 0
12928
- ? this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent)
12929
- : null;
12930
- nudgeNumberValueIntervalCount++;
12944
+ if (firstValueNudge) {
12945
+ firstValueNudge = false;
12946
+ return;
12947
+ }
12948
+ this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent);
12931
12949
  }, valueNudgeDelayInMs);
12932
12950
  };
12933
12951
  this.numberButtonMouseUpAndMouseOutHandler = () => {
@@ -13195,11 +13213,11 @@ let CalciteInputDatePicker$1 = class extends HTMLElement$1 {
13195
13213
  /** Localized string for "previous month" (used for aria label)
13196
13214
  * @default "Previous month"
13197
13215
  */
13198
- this.intlPrevMonth = TEXT$d.prevMonth;
13216
+ this.intlPrevMonth = TEXT$e.prevMonth;
13199
13217
  /** Localized string for "next month" (used for aria label)
13200
13218
  * @default "Next month"
13201
13219
  */
13202
- this.intlNextMonth = TEXT$d.nextMonth;
13220
+ this.intlNextMonth = TEXT$e.nextMonth;
13203
13221
  /** BCP 47 language tag for desired language and country format */
13204
13222
  this.locale = document.documentElement.lang || "en";
13205
13223
  /** specify the scale of the date picker */
@@ -14382,7 +14400,7 @@ const SLOTS$e = {
14382
14400
  secondary: "secondary",
14383
14401
  primary: "primary"
14384
14402
  };
14385
- const TEXT$a = {
14403
+ const TEXT$b = {
14386
14404
  close: "Close"
14387
14405
  };
14388
14406
 
@@ -14415,7 +14433,7 @@ let CalciteModal$1 = class extends HTMLElement$1 {
14415
14433
  /** Disables the closing of the Modal when clicked outside. */
14416
14434
  this.disableOutsideClose = false;
14417
14435
  /** Aria label for the close button */
14418
- this.intlClose = TEXT$a.close;
14436
+ this.intlClose = TEXT$b.close;
14419
14437
  /** Flag to disable the default close on escape behavior */
14420
14438
  this.disableEscape = false;
14421
14439
  /** specify the scale of modal, defaults to m */
@@ -14613,7 +14631,7 @@ let CalciteModal$1 = class extends HTMLElement$1 {
14613
14631
  static get style() { return calciteModalCss; }
14614
14632
  };
14615
14633
 
14616
- const TEXT$9 = {
14634
+ const TEXT$a = {
14617
14635
  close: "Close"
14618
14636
  };
14619
14637
  const SLOTS$d = {
@@ -14653,7 +14671,7 @@ let CalciteNotice$1 = class extends HTMLElement$1 {
14653
14671
  /** String for the close button.
14654
14672
  * @default "Close"
14655
14673
  */
14656
- this.intlClose = TEXT$9.close;
14674
+ this.intlClose = TEXT$a.close;
14657
14675
  /** specify the scale of the notice, defaults to m */
14658
14676
  this.scale = "m";
14659
14677
  /** specify the width of the notice, defaults to auto */
@@ -14839,7 +14857,7 @@ const CSS$k = {
14839
14857
  ellipsisStart: "ellipsis--start",
14840
14858
  ellipsisEnd: "ellipsis--end"
14841
14859
  };
14842
- const TEXT$8 = {
14860
+ const TEXT$9 = {
14843
14861
  nextLabel: "Next",
14844
14862
  previousLabel: "Previous"
14845
14863
  };
@@ -14868,11 +14886,11 @@ let CalcitePagination$1 = class extends HTMLElement$1 {
14868
14886
  /** Used as an accessible label (aria-label) for the next button
14869
14887
  * @default "Next"
14870
14888
  */
14871
- this.textLabelNext = TEXT$8.nextLabel;
14889
+ this.textLabelNext = TEXT$9.nextLabel;
14872
14890
  /** Used as an accessible label (aria-label) of the previous button
14873
14891
  * @default "Previous"
14874
14892
  */
14875
- this.textLabelPrevious = TEXT$8.previousLabel;
14893
+ this.textLabelPrevious = TEXT$9.previousLabel;
14876
14894
  /** The scale of the pagination */
14877
14895
  this.scale = "m";
14878
14896
  this.previousClicked = () => {
@@ -15032,7 +15050,7 @@ const SLOTS$c = {
15032
15050
  footer: "footer",
15033
15051
  footerActions: "footer-actions"
15034
15052
  };
15035
- const TEXT$7 = {
15053
+ const TEXT$8 = {
15036
15054
  back: "Back",
15037
15055
  close: "Close",
15038
15056
  open: "Open",
@@ -15138,7 +15156,7 @@ let CalcitePanel$1 = class extends HTMLElement$1 {
15138
15156
  const { el } = this;
15139
15157
  const rtl = getElementDir(el) === "rtl";
15140
15158
  const { showBackButton, intlBack, backButtonClick } = this;
15141
- const label = intlBack || TEXT$7.back;
15159
+ const label = intlBack || TEXT$8.back;
15142
15160
  const icon = rtl ? ICONS$5.backRight : ICONS$5.backLeft;
15143
15161
  return showBackButton ? (h("calcite-action", { "aria-label": label, class: CSS$j.backButton, icon: icon, key: "back-button", onClick: backButtonClick, ref: this.setBackRef, scale: "s", slot: SLOTS$c.headerActionsStart, text: label })) : null;
15144
15162
  }
@@ -15161,7 +15179,7 @@ let CalcitePanel$1 = class extends HTMLElement$1 {
15161
15179
  }
15162
15180
  renderHeaderActionsEnd() {
15163
15181
  const { dismiss, dismissible, el, intlClose } = this;
15164
- const text = intlClose || TEXT$7.close;
15182
+ const text = intlClose || TEXT$8.close;
15165
15183
  const dismissibleNode = dismissible ? (h("calcite-action", { "aria-label": text, icon: ICONS$5.close, onClick: dismiss, ref: this.setDismissRef, text: text })) : null;
15166
15184
  const slotNode = h("slot", { name: SLOTS$c.headerActionsEnd });
15167
15185
  const hasEndActions = getSlotted(el, SLOTS$c.headerActionsEnd);
@@ -15170,7 +15188,7 @@ let CalcitePanel$1 = class extends HTMLElement$1 {
15170
15188
  renderMenu() {
15171
15189
  const { el, intlOptions, menuOpen } = this;
15172
15190
  const hasMenuItems = getSlotted(el, SLOTS$c.headerMenuActions);
15173
- return hasMenuItems ? (h("calcite-action-menu", { flipPlacements: ["top", "bottom"], label: intlOptions || TEXT$7.options, open: menuOpen, placement: "bottom-end" }, h("calcite-action", { icon: ICONS$5.menu, slot: SLOTS$p.trigger, text: intlOptions || TEXT$7.options }), h("slot", { name: SLOTS$c.headerMenuActions }))) : null;
15191
+ return hasMenuItems ? (h("calcite-action-menu", { flipPlacements: ["top", "bottom"], label: intlOptions || TEXT$8.options, open: menuOpen, placement: "bottom-end" }, h("calcite-action", { icon: ICONS$5.menu, slot: SLOTS$p.trigger, text: intlOptions || TEXT$8.options }), h("slot", { name: SLOTS$c.headerMenuActions }))) : null;
15174
15192
  }
15175
15193
  renderHeaderNode() {
15176
15194
  const { el, showBackButton } = this;
@@ -15702,7 +15720,7 @@ const SLOTS$9 = {
15702
15720
  actionsEnd: "actions-end",
15703
15721
  actionsStart: "actions-start"
15704
15722
  };
15705
- const TEXT$6 = {
15723
+ const TEXT$7 = {
15706
15724
  remove: "Remove"
15707
15725
  };
15708
15726
 
@@ -15746,7 +15764,7 @@ let CalcitePickListItem$1 = class extends HTMLElement$1 {
15746
15764
  * Used as an accessible label (aria-label) for the "remove item" action. Only applicable if removable is true.
15747
15765
  * @default "Remove"
15748
15766
  */
15749
- this.intlRemove = TEXT$6.remove;
15767
+ this.intlRemove = TEXT$7.remove;
15750
15768
  // --------------------------------------------------------------------------
15751
15769
  //
15752
15770
  // Private Methods
@@ -15867,7 +15885,7 @@ const CSS$f = {
15867
15885
  headerContent: "header-content",
15868
15886
  heading: "heading"
15869
15887
  };
15870
- const TEXT$5 = {
15888
+ const TEXT$6 = {
15871
15889
  close: "Close"
15872
15890
  };
15873
15891
  const POPOVER_REFERENCE = "data-calcite-popover-reference";
@@ -15929,7 +15947,7 @@ let CalcitePopover$1 = class extends HTMLElement$1 {
15929
15947
  /** Text for close button.
15930
15948
  * @default "Close"
15931
15949
  */
15932
- this.intlClose = TEXT$5.close;
15950
+ this.intlClose = TEXT$6.close;
15933
15951
  this.guid = `calcite-popover-${guid()}`;
15934
15952
  this.activeTransitionProp = "opacity";
15935
15953
  // --------------------------------------------------------------------------
@@ -16909,7 +16927,7 @@ let CalciteRadioGroupItem$1 = class extends HTMLElement$1 {
16909
16927
  static get style() { return calciteRadioGroupItemCss; }
16910
16928
  };
16911
16929
 
16912
- const TEXT$4 = {
16930
+ const TEXT$5 = {
16913
16931
  rating: "Rating",
16914
16932
  stars: "Stars: ${num}"
16915
16933
  };
@@ -16940,11 +16958,11 @@ let CalciteRating$1 = class extends HTMLElement$1 {
16940
16958
  /** Localized string for "Rating" (used for aria label)
16941
16959
  * @default "Rating"
16942
16960
  */
16943
- this.intlRating = TEXT$4.rating;
16961
+ this.intlRating = TEXT$5.rating;
16944
16962
  /** Localized string for labelling each star, `${num}` in the string will be replaced by the number
16945
16963
  * @default "Stars: ${num}"
16946
16964
  */
16947
- this.intlStars = TEXT$4.stars;
16965
+ this.intlStars = TEXT$5.stars;
16948
16966
  /**
16949
16967
  * When true, makes the component required for form-submission.
16950
16968
  *
@@ -17030,7 +17048,7 @@ const CSS$c = {
17030
17048
  scrim: "scrim",
17031
17049
  content: "content"
17032
17050
  };
17033
- const TEXT$3 = {
17051
+ const TEXT$4 = {
17034
17052
  loading: "Loading"
17035
17053
  };
17036
17054
 
@@ -17049,7 +17067,7 @@ let CalciteScrim$1 = class extends HTMLElement$1 {
17049
17067
  /** string to override English loading text
17050
17068
  * @default "Loading"
17051
17069
  */
17052
- this.intlLoading = TEXT$3.loading;
17070
+ this.intlLoading = TEXT$4.loading;
17053
17071
  /**
17054
17072
  * Determines if the component will have the loader overlay.
17055
17073
  * Otherwise, will render opaque disabled state.
@@ -17413,14 +17431,18 @@ const CSS$8 = {
17413
17431
  content: "content",
17414
17432
  contentHeader: "content__header",
17415
17433
  contentBody: "content__body",
17416
- contentDetached: "content--detached"
17434
+ contentDetached: "content--detached",
17435
+ separator: "separator"
17417
17436
  };
17418
17437
  const SLOTS$5 = {
17419
17438
  actionBar: "action-bar",
17420
17439
  header: "header"
17421
17440
  };
17441
+ const TEXT$3 = {
17442
+ resize: "Resize"
17443
+ };
17422
17444
 
17423
- const calciteShellPanelCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:300ms}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;-ms-flex:0 1 auto;flex:0 1 auto;--calcite-shell-panel-detached-max-height:unset}.container{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;background-color:transparent;-ms-flex:1 1 auto;flex:1 1 auto;pointer-events:none;color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}.container *{-webkit-box-sizing:border-box;box-sizing:border-box}::slotted(calcite-panel),::slotted(calcite-flow){-ms-flex:1 1 auto;flex:1 1 auto;height:100%;width:100%;max-height:unset;max-width:unset}::slotted(.calcite-match-height){display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden}.content{-ms-flex-align:stretch;align-items:stretch;-ms-flex-item-align:stretch;align-self:stretch;background-color:var(--calcite-ui-background);display:-ms-flexbox;display:flex;padding:0;pointer-events:auto;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:var(--calcite-shell-panel-width);max-width:var(--calcite-shell-panel-max-width);min-width:var(--calcite-shell-panel-min-width);-webkit-transition:max-height 150ms ease-in-out, max-width 150ms ease-in-out;transition:max-height 150ms ease-in-out, max-width 150ms ease-in-out}.content__header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:stretch;align-items:stretch}.content__body{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;overflow:hidden}:host([width-scale=s]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 12vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 300px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 150px)}:host([width-scale=m]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 20vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 420px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 240px)}:host([width-scale=l]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 45vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 680px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 340px)}:host([detached-height-scale=s]) .content--detached{--calcite-shell-panel-detached-max-height:40vh}:host([detached-height-scale=m]) .content--detached{--calcite-shell-panel-detached-max-height:60vh}:host([detached-height-scale=l]) .content--detached{--calcite-shell-panel-detached-max-height:80vh}.content--detached{border-radius:0.25rem;-webkit-box-shadow:0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);box-shadow:0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);height:auto;overflow:hidden;margin-top:0.5rem;margin-bottom:auto;margin-left:0.5rem;margin-right:0.5rem;max-height:var(--calcite-shell-panel-detached-max-height)}.content--detached ::slotted(calcite-panel),.content--detached ::slotted(calcite-flow){max-height:unset}:host([position=start]) .content--detached ::slotted(calcite-panel),:host([position=start]) .content--detached ::slotted(calcite-flow),:host([position=end]) .content--detached ::slotted(calcite-panel),:host([position=end]) .content--detached ::slotted(calcite-flow){border-style:none}.content[hidden]{display:none}slot[name=action-bar]::slotted(calcite-action-bar),.content ::slotted(calcite-flow),.content ::slotted(calcite-panel){border-width:1px;border-color:var(--calcite-ui-border-3);border-style:solid}:host([position=start]) slot[name=action-bar]::slotted(calcite-action-bar),:host([position=start]) .content ::slotted(calcite-flow),:host([position=start]) .content ::slotted(calcite-panel){-webkit-border-start:none;border-inline-start:none}:host([position=end]) slot[name=action-bar]::slotted(calcite-action-bar),:host([position=end]) .content ::slotted(calcite-flow),:host([position=end]) .content ::slotted(calcite-panel){-webkit-border-end:none;border-inline-end:none}";
17445
+ const calciteShellPanelCss = "@-webkit-keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-down{0%{opacity:0;-webkit-transform:translate3D(0, -5px, 0);transform:translate3D(0, -5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;-webkit-transform:translate3D(0, 5px, 0);transform:translate3D(0, 5px, 0)}100%{opacity:1;-webkit-transform:translate3D(0, 0, 0);transform:translate3D(0, 0, 0)}}@-webkit-keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}@keyframes in-scale{0%{opacity:0;-webkit-transform:scale3D(0.95, 0.95, 1);transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;-webkit-transform:scale3D(1, 1, 1);transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:300ms}.calcite-animate{opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--calcite-animation-timing);animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{-webkit-animation-name:in;animation-name:in}.calcite-animate__in-down{-webkit-animation-name:in-down;animation-name:in-down}.calcite-animate__in-up{-webkit-animation-name:in-up;animation-name:in-up}.calcite-animate__in-scale{-webkit-animation-name:in-scale;animation-name:in-scale}:root{--calcite-popper-transition:150ms ease-in-out}:host([hidden]){display:none}:host{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;-ms-flex:0 1 auto;flex:0 1 auto;--calcite-shell-panel-detached-max-height:unset}.container{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;background-color:transparent;-ms-flex:1 1 auto;flex:1 1 auto;pointer-events:none;color:var(--calcite-ui-text-2);font-size:var(--calcite-font-size--1)}.container *{-webkit-box-sizing:border-box;box-sizing:border-box}:host(:hover) .separator:not(:hover):not(:focus),:host(:focus-within) .separator:not(:hover):not(:focus){opacity:1;background-color:var(--calcite-ui-border-3)}.separator{position:absolute;background-color:transparent;bottom:0;display:-ms-flexbox;display:flex;height:100%;opacity:0;pointer-events:auto;top:0;-webkit-transition-property:all;transition-property:all;-webkit-transition-duration:150ms;transition-duration:150ms;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-delay:0s;transition-delay:0s;width:0.125rem;z-index:10;cursor:col-resize;outline:none}.separator:hover{opacity:1;background-color:var(--calcite-ui-border-2)}.separator:focus{background-color:var(--calcite-ui-brand);opacity:1}:host([position=start]) .separator{inset-inline-end:-2px}:host([position=end]) .separator{inset-inline-start:-2px}::slotted(calcite-panel),::slotted(calcite-flow){-ms-flex:1 1 auto;flex:1 1 auto;height:100%;width:100%;max-height:unset;max-width:unset}::slotted(.calcite-match-height){display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden}.content{-ms-flex-align:stretch;align-items:stretch;-ms-flex-item-align:stretch;align-self:stretch;background-color:var(--calcite-ui-background);display:-ms-flexbox;display:flex;padding:0;pointer-events:auto;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:var(--calcite-shell-panel-width);max-width:var(--calcite-shell-panel-max-width);min-width:var(--calcite-shell-panel-min-width);-webkit-transition:max-height 150ms ease-in-out, max-width 150ms ease-in-out;transition:max-height 150ms ease-in-out, max-width 150ms ease-in-out}.content__header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:0 1 auto;flex:0 1 auto;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-align:stretch;align-items:stretch}.content__body{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-direction:column;flex-direction:column;overflow:hidden}:host([width-scale=s]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 12vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 300px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 150px)}:host([width-scale=m]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 20vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 420px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 240px)}:host([width-scale=l]) .content{--calcite-shell-panel-width:calc(var(--calcite-panel-width-multiplier) * 45vw);--calcite-shell-panel-max-width:calc(var(--calcite-panel-width-multiplier) * 680px);--calcite-shell-panel-min-width:calc(var(--calcite-panel-width-multiplier) * 340px)}:host([detached-height-scale=s]) .content--detached{--calcite-shell-panel-detached-max-height:40vh}:host([detached-height-scale=m]) .content--detached{--calcite-shell-panel-detached-max-height:60vh}:host([detached-height-scale=l]) .content--detached{--calcite-shell-panel-detached-max-height:80vh}.content--detached{border-radius:0.25rem;-webkit-box-shadow:0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);box-shadow:0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);height:auto;overflow:hidden;margin-top:0.5rem;margin-bottom:auto;margin-left:0.5rem;margin-right:0.5rem;max-height:var(--calcite-shell-panel-detached-max-height)}.content--detached ::slotted(calcite-panel),.content--detached ::slotted(calcite-flow){max-height:unset}:host([position=start]) .content--detached ::slotted(calcite-panel),:host([position=start]) .content--detached ::slotted(calcite-flow),:host([position=end]) .content--detached ::slotted(calcite-panel),:host([position=end]) .content--detached ::slotted(calcite-flow){border-style:none}.content[hidden]{display:none}slot[name=action-bar]::slotted(calcite-action-bar),.content ::slotted(calcite-flow),.content ::slotted(calcite-panel){border-width:1px;border-color:var(--calcite-ui-border-3);border-style:solid}:host([position=start]) slot[name=action-bar]::slotted(calcite-action-bar),:host([position=start]) .content ::slotted(calcite-flow),:host([position=start]) .content ::slotted(calcite-panel){-webkit-border-start:none;border-inline-start:none}:host([position=end]) slot[name=action-bar]::slotted(calcite-action-bar),:host([position=end]) .content ::slotted(calcite-flow),:host([position=end]) .content ::slotted(calcite-panel){-webkit-border-end:none;border-inline-end:none}";
17424
17446
 
17425
17447
  let CalciteShellPanel$1 = class extends HTMLElement$1 {
17426
17448
  constructor() {
@@ -17449,10 +17471,121 @@ let CalciteShellPanel$1 = class extends HTMLElement$1 {
17449
17471
  * This sets width of the content area.
17450
17472
  */
17451
17473
  this.widthScale = "m";
17474
+ /**
17475
+ * Accessible label for resize separator.
17476
+ * @default "Resize"
17477
+ */
17478
+ this.intlResize = TEXT$3.resize;
17479
+ /**
17480
+ * This property makes the content area resizable if the calcite-shell-panel is not 'detached'.
17481
+ */
17482
+ this.resizable = false;
17483
+ this.contentWidth = null;
17484
+ this.initialContentWidth = null;
17485
+ this.initialClientX = null;
17486
+ this.contentWidthMax = null;
17487
+ this.contentWidthMin = null;
17488
+ this.step = 1;
17489
+ this.stepMultiplier = 10;
17490
+ this.storeContentEl = (contentEl) => {
17491
+ this.contentEl = contentEl;
17492
+ };
17493
+ this.getKeyAdjustedWidth = (event) => {
17494
+ const { key } = event;
17495
+ const { step, stepMultiplier, contentWidthMin, contentWidthMax, initialContentWidth, position } = this;
17496
+ const multipliedStep = step * stepMultiplier;
17497
+ const MOVEMENT_KEYS = [
17498
+ "ArrowUp",
17499
+ "ArrowDown",
17500
+ "ArrowLeft",
17501
+ "ArrowRight",
17502
+ "Home",
17503
+ "End",
17504
+ "PageUp",
17505
+ "PageDown"
17506
+ ];
17507
+ if (MOVEMENT_KEYS.indexOf(key) > -1) {
17508
+ event.preventDefault();
17509
+ }
17510
+ const increaseKeys = key === "ArrowUp" || (position === "end" ? key === "ArrowLeft" : key === "ArrowRight");
17511
+ if (increaseKeys) {
17512
+ const stepValue = event.shiftKey ? multipliedStep : step;
17513
+ return initialContentWidth + stepValue;
17514
+ }
17515
+ const decreaseKeys = key === "ArrowDown" || (position === "end" ? key === "ArrowRight" : key === "ArrowLeft");
17516
+ if (decreaseKeys) {
17517
+ const stepValue = event.shiftKey ? multipliedStep : step;
17518
+ return initialContentWidth - stepValue;
17519
+ }
17520
+ if (typeof contentWidthMin === "number" && key === "Home") {
17521
+ return contentWidthMin;
17522
+ }
17523
+ if (typeof contentWidthMax === "number" && key === "End") {
17524
+ return contentWidthMax;
17525
+ }
17526
+ if (key === "PageDown") {
17527
+ return initialContentWidth - multipliedStep;
17528
+ }
17529
+ if (key === "PageUp") {
17530
+ return initialContentWidth + multipliedStep;
17531
+ }
17532
+ return null;
17533
+ };
17534
+ this.separatorKeyDown = (event) => {
17535
+ this.setInitialContentWidth();
17536
+ const width = this.getKeyAdjustedWidth(event);
17537
+ if (typeof width === "number") {
17538
+ this.setContentWidth(width);
17539
+ }
17540
+ };
17541
+ this.separatorPointerMove = (event) => {
17542
+ event.preventDefault();
17543
+ const { initialContentWidth, position, initialClientX } = this;
17544
+ const offset = event.clientX - initialClientX;
17545
+ this.setContentWidth(position === "end" ? initialContentWidth - offset : initialContentWidth + offset);
17546
+ };
17547
+ this.separatorPointerUp = (event) => {
17548
+ event.preventDefault();
17549
+ document.removeEventListener("pointerup", this.separatorPointerUp);
17550
+ document.removeEventListener("pointermove", this.separatorPointerMove);
17551
+ };
17552
+ this.setInitialContentWidth = () => {
17553
+ var _a;
17554
+ this.initialContentWidth = (_a = this.contentEl) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
17555
+ };
17556
+ this.separatorPointerDown = (event) => {
17557
+ event.preventDefault();
17558
+ const { separatorEl } = this;
17559
+ separatorEl && document.activeElement !== separatorEl && separatorEl.focus();
17560
+ this.setInitialContentWidth();
17561
+ this.initialClientX = event.clientX;
17562
+ document.addEventListener("pointerup", this.separatorPointerUp);
17563
+ document.addEventListener("pointermove", this.separatorPointerMove);
17564
+ };
17565
+ this.connectSeparator = (separatorEl) => {
17566
+ this.disconnectSeparator();
17567
+ this.separatorEl = separatorEl;
17568
+ separatorEl.addEventListener("pointerdown", this.separatorPointerDown);
17569
+ };
17570
+ this.disconnectSeparator = () => {
17571
+ var _a;
17572
+ (_a = this.separatorEl) === null || _a === void 0 ? void 0 : _a.removeEventListener("pointerdown", this.separatorPointerDown);
17573
+ };
17452
17574
  }
17453
17575
  watchHandler() {
17454
17576
  this.calciteShellPanelToggle.emit();
17455
17577
  }
17578
+ //--------------------------------------------------------------------------
17579
+ //
17580
+ // Lifecycle
17581
+ //
17582
+ //--------------------------------------------------------------------------
17583
+ disconnectedCallback() {
17584
+ this.disconnectSeparator();
17585
+ }
17586
+ componentDidLoad() {
17587
+ this.updateAriaValues();
17588
+ }
17456
17589
  // --------------------------------------------------------------------------
17457
17590
  //
17458
17591
  // Render Methods
@@ -17464,15 +17597,50 @@ let CalciteShellPanel$1 = class extends HTMLElement$1 {
17464
17597
  return hasHeader ? (h("div", { class: CSS$8.contentHeader }, h("slot", { name: SLOTS$5.header }))) : null;
17465
17598
  }
17466
17599
  render() {
17467
- const { collapsed, detached, position } = this;
17468
- const contentNode = (h("div", { class: { [CSS$8.content]: true, [CSS$8.contentDetached]: detached }, hidden: collapsed }, this.renderHeader(), h("div", { class: CSS$8.contentBody }, h("slot", null))));
17600
+ const { collapsed, detached, position, initialContentWidth, contentWidth, contentWidthMax, contentWidthMin, intlResize, resizable } = this;
17601
+ const allowResizing = !detached && resizable;
17602
+ const contentNode = (h("div", { class: { [CSS$8.content]: true, [CSS$8.contentDetached]: detached }, hidden: collapsed, ref: this.storeContentEl, style: allowResizing && contentWidth ? { width: `${contentWidth}px` } : null }, this.renderHeader(), h("div", { class: CSS$8.contentBody }, h("slot", null))));
17603
+ const separatorNode = allowResizing ? (h("div", { "aria-label": intlResize, "aria-orientation": "horizontal", "aria-valuemax": contentWidthMax, "aria-valuemin": contentWidthMin, "aria-valuenow": contentWidth !== null && contentWidth !== void 0 ? contentWidth : initialContentWidth, class: CSS$8.separator, onKeyDown: this.separatorKeyDown, ref: this.connectSeparator, role: "separator", tabIndex: 0, "touch-action": "none" })) : null;
17469
17604
  const actionBarNode = h("slot", { name: SLOTS$5.actionBar });
17470
- const mainNodes = [actionBarNode, contentNode];
17605
+ const mainNodes = [actionBarNode, contentNode, separatorNode];
17471
17606
  if (position === "end") {
17472
17607
  mainNodes.reverse();
17473
17608
  }
17474
17609
  return h("div", { class: { [CSS$8.container]: true } }, mainNodes);
17475
17610
  }
17611
+ // --------------------------------------------------------------------------
17612
+ //
17613
+ // private Methods
17614
+ //
17615
+ // --------------------------------------------------------------------------
17616
+ setContentWidth(width) {
17617
+ const { contentWidthMax, contentWidthMin } = this;
17618
+ const roundedWidth = Math.round(width);
17619
+ this.contentWidth =
17620
+ typeof contentWidthMax === "number" && typeof contentWidthMin === "number"
17621
+ ? clamp(roundedWidth, contentWidthMin, contentWidthMax)
17622
+ : roundedWidth;
17623
+ }
17624
+ updateAriaValues() {
17625
+ const { contentEl } = this;
17626
+ const computedStyle = contentEl && getComputedStyle(contentEl);
17627
+ if (!computedStyle) {
17628
+ return;
17629
+ }
17630
+ const max = parseInt(computedStyle.getPropertyValue("max-width"), 10);
17631
+ const min = parseInt(computedStyle.getPropertyValue("min-width"), 10);
17632
+ const valueNow = parseInt(computedStyle.getPropertyValue("width"), 10);
17633
+ if (typeof valueNow === "number" && !isNaN(valueNow)) {
17634
+ this.initialContentWidth = valueNow;
17635
+ }
17636
+ if (typeof max === "number" && !isNaN(max)) {
17637
+ this.contentWidthMax = max;
17638
+ }
17639
+ if (typeof min === "number" && !isNaN(min)) {
17640
+ this.contentWidthMin = min;
17641
+ }
17642
+ forceUpdate(this);
17643
+ }
17476
17644
  get el() { return this; }
17477
17645
  static get watchers() { return {
17478
17646
  "collapsed": ["watchHandler"]
@@ -24806,7 +24974,7 @@ const CalciteScrim = /*@__PURE__*/proxyCustomElement(CalciteScrim$1, [1,"calcite
24806
24974
  const CalciteSelect = /*@__PURE__*/proxyCustomElement(CalciteSelect$1, [1,"calcite-select",{"disabled":[516],"label":[1],"name":[1],"required":[516],"scale":[513],"value":[1025],"selectedOption":[1040],"width":[513]},[[0,"calciteOptionChange","handleOptionOrGroupChange"],[0,"calciteOptionGroupChange","handleOptionOrGroupChange"]]]);
24807
24975
  const CalciteShell = /*@__PURE__*/proxyCustomElement(CalciteShell$1, [1,"calcite-shell",{"contentBehind":[516,"content-behind"]}]);
24808
24976
  const CalciteShellCenterRow = /*@__PURE__*/proxyCustomElement(CalciteShellCenterRow$1, [1,"calcite-shell-center-row",{"detached":[516],"heightScale":[513,"height-scale"],"position":[513]}]);
24809
- const CalciteShellPanel = /*@__PURE__*/proxyCustomElement(CalciteShellPanel$1, [1,"calcite-shell-panel",{"collapsed":[516],"detached":[516],"detachedHeightScale":[513,"detached-height-scale"],"widthScale":[513,"width-scale"],"position":[513]}]);
24977
+ const CalciteShellPanel = /*@__PURE__*/proxyCustomElement(CalciteShellPanel$1, [1,"calcite-shell-panel",{"collapsed":[516],"detached":[516],"detachedHeightScale":[513,"detached-height-scale"],"widthScale":[513,"width-scale"],"position":[513],"intlResize":[1,"intl-resize"],"resizable":[516],"contentWidth":[32]}]);
24810
24978
  const CalciteSlider = /*@__PURE__*/proxyCustomElement(CalciteSlider$1, [1,"calcite-slider",{"disabled":[516],"hasHistogram":[1540,"has-histogram"],"histogram":[16],"histogramStops":[16],"labelHandles":[516,"label-handles"],"labelTicks":[516,"label-ticks"],"max":[514],"maxLabel":[1,"max-label"],"maxValue":[1026,"max-value"],"min":[514],"minLabel":[1,"min-label"],"minValue":[1026,"min-value"],"mirrored":[516],"name":[513],"pageStep":[2,"page-step"],"precise":[4],"required":[516],"snap":[4],"step":[2],"ticks":[2],"value":[1538],"activeProp":[32],"minMaxValueRange":[32],"minValueDragRange":[32],"maxValueDragRange":[32],"tickValues":[32]},[[0,"keydown","keyDownHandler"],[0,"click","clickHandler"],[1,"pointerdown","pointerDownHandler"]]]);
24811
24979
  const CalciteSortableList = /*@__PURE__*/proxyCustomElement(CalciteSortableList$1, [1,"calcite-sortable-list",{"dragSelector":[1,"drag-selector"],"group":[1],"handleSelector":[1,"handle-selector"],"layout":[1],"disabled":[516],"loading":[516],"handleActivated":[32]},[[0,"calciteHandleNudge","calciteHandleNudgeHandler"]]]);
24812
24980
  const CalciteSplitButton = /*@__PURE__*/proxyCustomElement(CalciteSplitButton$1, [1,"calcite-split-button",{"appearance":[513],"color":[513],"disabled":[516],"active":[516],"dropdownIconType":[513,"dropdown-icon-type"],"dropdownLabel":[513,"dropdown-label"],"loading":[516],"primaryIconEnd":[513,"primary-icon-end"],"primaryIconFlipRtl":[513,"primary-icon-flip-rtl"],"primaryIconStart":[513,"primary-icon-start"],"primaryLabel":[513,"primary-label"],"primaryText":[513,"primary-text"],"scale":[513],"width":[513]}]);