@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
package/hydrate/index.js CHANGED
@@ -5701,7 +5701,7 @@ const CSS_UTILITY = {
5701
5701
  lightTheme,
5702
5702
  rtl: "calcite--rtl"
5703
5703
  };
5704
- const TEXT$p = {
5704
+ const TEXT$q = {
5705
5705
  loading: "Loading"
5706
5706
  };
5707
5707
 
@@ -5996,7 +5996,7 @@ const CSS$O = {
5996
5996
  textContainer: "text-container",
5997
5997
  textContainerVisible: "text-container--visible"
5998
5998
  };
5999
- const TEXT$o = {
5999
+ const TEXT$p = {
6000
6000
  loading: "Loading"
6001
6001
  };
6002
6002
 
@@ -6046,7 +6046,7 @@ class CalciteAction {
6046
6046
  /** string to override English loading text
6047
6047
  * @default "Loading"
6048
6048
  */
6049
- this.intlLoading = TEXT$o.loading;
6049
+ this.intlLoading = TEXT$p.loading;
6050
6050
  /**
6051
6051
  * When true, content is waiting to be loaded. This state shows a busy indicator.
6052
6052
  */
@@ -6173,7 +6173,7 @@ const SLOTS$o = {
6173
6173
  menuActions: "menu-actions",
6174
6174
  menuTooltip: "menu-tooltip"
6175
6175
  };
6176
- const TEXT$n = {
6176
+ const TEXT$o = {
6177
6177
  more: "More"
6178
6178
  };
6179
6179
  const ICONS$e = {
@@ -6264,7 +6264,7 @@ const SLOTS$n = {
6264
6264
  bottomActions: "bottom-actions",
6265
6265
  expandTooltip: "expand-tooltip"
6266
6266
  };
6267
- const TEXT$m = {
6267
+ const TEXT$n = {
6268
6268
  expand: "Expand",
6269
6269
  collapse: "Collapse"
6270
6270
  };
@@ -7690,8 +7690,8 @@ class CalciteActionBar {
7690
7690
  renderBottomActionGroup() {
7691
7691
  const { expanded, expandDisabled, intlExpand, intlCollapse, el, position, toggleExpand, scale } = this;
7692
7692
  const tooltip = getSlotted(el, SLOTS$n.expandTooltip);
7693
- const expandLabel = intlExpand || TEXT$m.expand;
7694
- const collapseLabel = intlCollapse || TEXT$m.collapse;
7693
+ const expandLabel = intlExpand || TEXT$n.expand;
7694
+ const collapseLabel = intlCollapse || TEXT$n.collapse;
7695
7695
  const expandToggleNode = !expandDisabled ? (hAsync(CalciteExpandToggle, { el: el, expanded: expanded, intlCollapse: collapseLabel, intlExpand: expandLabel, position: position, ref: this.setExpandToggleRef, scale: scale, toggle: toggleExpand, tooltip: tooltip })) : null;
7696
7696
  return getSlotted(el, SLOTS$n.bottomActions) || expandToggleNode ? (hAsync("calcite-action-group", { class: CSS$M.actionGroupBottom, scale: scale }, hAsync("slot", { name: SLOTS$n.bottomActions }), hAsync("slot", { name: SLOTS$n.expandTooltip }), expandToggleNode)) : null;
7697
7697
  }
@@ -7777,7 +7777,7 @@ class CalciteActionGroup {
7777
7777
  renderMenu() {
7778
7778
  const { el, expanded, intlMore, menuOpen, scale } = this;
7779
7779
  const hasMenuItems = getSlotted(el, SLOTS$o.menuActions);
7780
- return hasMenuItems ? (hAsync("calcite-action-menu", { expanded: expanded, flipPlacements: ["left", "right"], label: intlMore || TEXT$n.more, onCalciteActionMenuOpenChange: this.setMenuOpen, open: menuOpen, placement: "leading-start", scale: scale }, hAsync("calcite-action", { icon: ICONS$e.menu, scale: scale, slot: SLOTS$p.trigger, text: intlMore || TEXT$n.more, textEnabled: expanded }), hAsync("slot", { name: SLOTS$o.menuActions }), this.renderTooltip())) : null;
7780
+ return hasMenuItems ? (hAsync("calcite-action-menu", { expanded: expanded, flipPlacements: ["left", "right"], label: intlMore || TEXT$o.more, onCalciteActionMenuOpenChange: this.setMenuOpen, open: menuOpen, placement: "leading-start", scale: scale }, hAsync("calcite-action", { icon: ICONS$e.menu, scale: scale, slot: SLOTS$p.trigger, text: intlMore || TEXT$o.more, textEnabled: expanded }), hAsync("slot", { name: SLOTS$o.menuActions }), this.renderTooltip())) : null;
7781
7781
  }
7782
7782
  render() {
7783
7783
  return (hAsync(Fragment, null, hAsync("slot", null), this.renderMenu()));
@@ -8112,7 +8112,7 @@ const CSS$L = {
8112
8112
  actionGroupBottom: "action-group--bottom",
8113
8113
  container: "container"
8114
8114
  };
8115
- const TEXT$l = {
8115
+ const TEXT$m = {
8116
8116
  expand: "Expand",
8117
8117
  collapse: "Collapse"
8118
8118
  };
@@ -8212,8 +8212,8 @@ class CalciteActionPad {
8212
8212
  renderBottomActionGroup() {
8213
8213
  const { expanded, expandDisabled, intlExpand, intlCollapse, el, position, toggleExpand, scale } = this;
8214
8214
  const tooltip = getSlotted(el, SLOTS$m.expandTooltip);
8215
- const expandLabel = intlExpand || TEXT$l.expand;
8216
- const collapseLabel = intlCollapse || TEXT$l.collapse;
8215
+ const expandLabel = intlExpand || TEXT$m.expand;
8216
+ const collapseLabel = intlCollapse || TEXT$m.collapse;
8217
8217
  const expandToggleNode = !expandDisabled ? (hAsync(CalciteExpandToggle, { el: el, expanded: expanded, intlCollapse: collapseLabel, intlExpand: expandLabel, position: position, ref: this.setExpandToggleRef, scale: scale, toggle: toggleExpand, tooltip: tooltip })) : null;
8218
8218
  return expandToggleNode ? (hAsync("calcite-action-group", { class: CSS$L.actionGroupBottom, scale: scale }, hAsync("slot", { name: SLOTS$m.expandTooltip }), expandToggleNode)) : null;
8219
8219
  }
@@ -8250,7 +8250,7 @@ class CalciteActionPad {
8250
8250
  }; }
8251
8251
  }
8252
8252
 
8253
- const TEXT$k = {
8253
+ const TEXT$l = {
8254
8254
  intlClose: "Close"
8255
8255
  };
8256
8256
  const DURATIONS = {
@@ -8305,7 +8305,7 @@ class CalciteAlert {
8305
8305
  /** string to override English close text
8306
8306
  * @default "Close"
8307
8307
  */
8308
- this.intlClose = TEXT$k.intlClose;
8308
+ this.intlClose = TEXT$l.intlClose;
8309
8309
  /** specify the scale of the button, defaults to m */
8310
8310
  this.scale = "m";
8311
8311
  //--------------------------------------------------------------------------
@@ -8319,8 +8319,13 @@ class CalciteAlert {
8319
8319
  this.queueLength = 0;
8320
8320
  /** is the alert queued */
8321
8321
  this.queued = false;
8322
+ this.autoDismissTimeout = null;
8323
+ this.trackTimer = new Date();
8322
8324
  /** close and emit the closed alert and the queue */
8323
8325
  this.closeAlert = () => {
8326
+ if (this.autoDismissTimeout) {
8327
+ this.autoDismissTimeout = null;
8328
+ }
8324
8329
  this.queued = false;
8325
8330
  this.active = false;
8326
8331
  this.queue = this.queue.filter((e) => e !== this.el);
@@ -8344,6 +8349,12 @@ class CalciteAlert {
8344
8349
  updateRequestedIcon() {
8345
8350
  this.requestedIcon = setRequestedIcon(StatusIcons, this.icon, this.color);
8346
8351
  }
8352
+ updateDuration(newDuration, prevDuration) {
8353
+ if (this.autoDismiss && prevDuration !== newDuration && this.autoDismissTimeout) {
8354
+ window.clearTimeout(this.autoDismissTimeout);
8355
+ this.autoDismissTimeout = window.setTimeout(() => this.closeAlert(), DURATIONS[this.autoDismissDuration] - (new Date().valueOf() - this.trackTimer.valueOf()));
8356
+ }
8357
+ }
8347
8358
  //--------------------------------------------------------------------------
8348
8359
  //
8349
8360
  // Lifecycle
@@ -8360,20 +8371,25 @@ class CalciteAlert {
8360
8371
  componentDidLoad() {
8361
8372
  this.alertLinkEl = this.el.querySelectorAll("calcite-link")[0];
8362
8373
  }
8374
+ disconnectedCallback() {
8375
+ if (this.autoDismissTimeout) {
8376
+ window.clearTimeout(this.autoDismissTimeout);
8377
+ }
8378
+ }
8363
8379
  render() {
8364
8380
  const dir = getElementDir(this.el);
8365
8381
  const closeButton = (hAsync("button", { "aria-label": this.intlClose, class: "alert-close", onClick: this.closeAlert, ref: (el) => (this.closeButton = el), type: "button" }, hAsync("calcite-icon", { icon: "x", scale: this.scale === "l" ? "m" : "s" })));
8366
8382
  const queueText = `+${this.queueLength > 2 ? this.queueLength - 1 : 1}`;
8367
8383
  const queueCount = (hAsync("div", { class: `${this.queueLength > 1 ? "active " : ""}alert-queue-count` }, hAsync("calcite-chip", { scale: this.scale, value: queueText }, queueText)));
8368
8384
  const { active, autoDismiss, label, queued, requestedIcon } = this;
8369
- const progress = hAsync("div", { class: "alert-dismiss-progress" });
8385
+ const progressBar = hAsync("div", { class: "alert-dismiss-progress" });
8370
8386
  const role = autoDismiss ? "alert" : "alertdialog";
8371
8387
  const hidden = !active;
8372
8388
  return (hAsync(Host, { "aria-hidden": hidden.toString(), "aria-label": label, "calcite-hydrated-hidden": hidden, role: role }, hAsync("div", { class: {
8373
8389
  container: true,
8374
8390
  queued,
8375
8391
  [CSS_UTILITY.rtl]: dir === "rtl"
8376
- } }, requestedIcon ? (hAsync("div", { class: "alert-icon" }, hAsync("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, hAsync("div", { class: "alert-content" }, hAsync("slot", { name: SLOTS$l.title }), hAsync("slot", { name: SLOTS$l.message }), hAsync("slot", { name: SLOTS$l.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? progress : null)));
8392
+ } }, requestedIcon ? (hAsync("div", { class: "alert-icon" }, hAsync("calcite-icon", { icon: requestedIcon, scale: this.scale === "l" ? "m" : "s" }))) : null, hAsync("div", { class: "alert-content" }, hAsync("slot", { name: SLOTS$l.title }), hAsync("slot", { name: SLOTS$l.message }), hAsync("slot", { name: SLOTS$l.link })), queueCount, !autoDismiss ? closeButton : null, active && !queued && autoDismiss ? progressBar : null)));
8377
8393
  }
8378
8394
  // when an alert is opened or closed, update queue and determine active alert
8379
8395
  alertSync(event) {
@@ -8419,8 +8435,8 @@ class CalciteAlert {
8419
8435
  var _a;
8420
8436
  if (((_a = this.queue) === null || _a === void 0 ? void 0 : _a[0]) === this.el) {
8421
8437
  this.openAlert();
8422
- clearTimeout(this.autoDismissTimeout);
8423
- if (this.autoDismiss) {
8438
+ if (this.autoDismiss && !this.autoDismissTimeout) {
8439
+ this.trackTimer = new Date();
8424
8440
  this.autoDismissTimeout = window.setTimeout(() => this.closeAlert(), DURATIONS[this.autoDismissDuration]);
8425
8441
  }
8426
8442
  }
@@ -8441,7 +8457,8 @@ class CalciteAlert {
8441
8457
  static get watchers() { return {
8442
8458
  "active": ["watchActive"],
8443
8459
  "icon": ["updateRequestedIcon"],
8444
- "color": ["updateRequestedIcon"]
8460
+ "color": ["updateRequestedIcon"],
8461
+ "autoDismissDuration": ["updateDuration"]
8445
8462
  }; }
8446
8463
  static get style() { return calciteAlertCss; }
8447
8464
  static get cmpMeta() { return {
@@ -8741,7 +8758,7 @@ const CSS$K = {
8741
8758
  invalid: "invalid",
8742
8759
  loading: "loading"
8743
8760
  };
8744
- const TEXT$j = {
8761
+ const TEXT$k = {
8745
8762
  collapse: "Collapse",
8746
8763
  expand: "Expand",
8747
8764
  loading: "Loading",
@@ -8802,11 +8819,11 @@ class CalciteBlock {
8802
8819
  /** string to override English loading text
8803
8820
  * @default "Loading"
8804
8821
  */
8805
- this.intlLoading = TEXT$j.loading;
8822
+ this.intlLoading = TEXT$k.loading;
8806
8823
  /** Text string used for the actions menu
8807
8824
  * @default "Options"
8808
8825
  */
8809
- this.intlOptions = TEXT$j.options;
8826
+ this.intlOptions = TEXT$k.options;
8810
8827
  /**
8811
8828
  * When true, content is waiting to be loaded. This state shows a busy indicator.
8812
8829
  */
@@ -8850,12 +8867,12 @@ class CalciteBlock {
8850
8867
  }
8851
8868
  render() {
8852
8869
  const { collapsible, disabled, el, heading, intlCollapse, intlExpand, loading, open, summary, intlLoading, headingLevel } = this;
8853
- const toggleLabel = open ? intlCollapse || TEXT$j.collapse : intlExpand || TEXT$j.expand;
8870
+ const toggleLabel = open ? intlCollapse || TEXT$k.collapse : intlExpand || TEXT$k.expand;
8854
8871
  const headerContent = (hAsync("header", { class: CSS$K.header }, this.renderIcon(), hAsync("div", { class: CSS$K.title }, hAsync(CalciteHeading, { class: CSS$K.heading, level: headingLevel || HEADING_LEVEL$7 }, heading), summary ? hAsync("div", { class: CSS$K.summary }, summary) : null)));
8855
8872
  const hasControl = !!getSlotted(el, SLOTS$k.control);
8856
8873
  const hasMenuActions = !!getSlotted(el, SLOTS$k.headerMenuActions);
8857
8874
  const collapseIcon = open ? ICONS$c.opened : ICONS$c.closed;
8858
- const headerNode = (hAsync("div", { class: CSS$K.headerContainer }, this.dragHandle ? hAsync("calcite-handle", null) : null, collapsible ? (hAsync("button", { "aria-expanded": collapsible ? open.toString() : null, "aria-label": toggleLabel, class: CSS$K.toggle, onClick: this.onHeaderClick, title: toggleLabel }, headerContent, !hasControl && !hasMenuActions ? (hAsync("calcite-icon", { "aria-hidden": "true", class: CSS$K.toggleIcon, icon: collapseIcon, scale: "s" })) : null)) : (headerContent), loading ? (hAsync("calcite-loader", { inline: true, "is-active": true, label: intlLoading })) : hasControl ? (hAsync("div", { class: CSS$K.controlContainer }, hAsync("slot", { name: SLOTS$k.control }))) : null, hasMenuActions ? (hAsync("calcite-action-menu", { label: this.intlOptions || TEXT$j.options }, hAsync("slot", { name: SLOTS$k.headerMenuActions }))) : null));
8875
+ const headerNode = (hAsync("div", { class: CSS$K.headerContainer }, this.dragHandle ? hAsync("calcite-handle", null) : null, collapsible ? (hAsync("button", { "aria-expanded": collapsible ? open.toString() : null, "aria-label": toggleLabel, class: CSS$K.toggle, onClick: this.onHeaderClick, title: toggleLabel }, headerContent, !hasControl && !hasMenuActions ? (hAsync("calcite-icon", { "aria-hidden": "true", class: CSS$K.toggleIcon, icon: collapseIcon, scale: "s" })) : null)) : (headerContent), loading ? (hAsync("calcite-loader", { inline: true, "is-active": true, label: intlLoading })) : hasControl ? (hAsync("div", { class: CSS$K.controlContainer }, hAsync("slot", { name: SLOTS$k.control }))) : null, hasMenuActions ? (hAsync("calcite-action-menu", { label: this.intlOptions || TEXT$k.options }, hAsync("slot", { name: SLOTS$k.headerMenuActions }))) : null));
8859
8876
  return (hAsync(Host, { tabIndex: disabled ? -1 : null }, hAsync("article", { "aria-busy": loading.toString(), class: {
8860
8877
  [CSS$K.article]: true
8861
8878
  } }, headerNode, hAsync("div", { class: CSS$K.content, hidden: !open }, this.renderScrim()))));
@@ -8898,7 +8915,7 @@ const CSS$J = {
8898
8915
  statusIcon: "status-icon",
8899
8916
  valid: "valid"
8900
8917
  };
8901
- const TEXT$i = {
8918
+ const TEXT$j = {
8902
8919
  collapse: "Collapse",
8903
8920
  expand: "Expand"
8904
8921
  };
@@ -8970,7 +8987,7 @@ class CalciteBlockSection {
8970
8987
  : dir === "rtl"
8971
8988
  ? ICONS$b.menuClosedLeft
8972
8989
  : ICONS$b.menuClosedRight;
8973
- const toggleLabel = open ? intlCollapse || TEXT$i.collapse : intlExpand || TEXT$i.expand;
8990
+ const toggleLabel = open ? intlCollapse || TEXT$j.collapse : intlExpand || TEXT$j.expand;
8974
8991
  const headerNode = toggleDisplay === "switch" ? (hAsync("div", { "aria-label": toggleLabel, class: {
8975
8992
  [CSS$J.toggle]: true,
8976
8993
  [CSS$J.toggleSwitch]: true
@@ -9037,7 +9054,7 @@ const CSS$I = {
9037
9054
  loadingIn: "loading-in",
9038
9055
  loadingOut: "loading-out"
9039
9056
  };
9040
- const TEXT$h = {
9057
+ const TEXT$i = {
9041
9058
  loading: "Loading"
9042
9059
  };
9043
9060
 
@@ -9141,7 +9158,7 @@ class CalciteButton {
9141
9158
  /** string to override English loading text
9142
9159
  * @default "Loading"
9143
9160
  */
9144
- this.intlLoading = TEXT$h.loading;
9161
+ this.intlLoading = TEXT$i.loading;
9145
9162
  /** optionally add a calcite-loader component to the button, disabling interaction. */
9146
9163
  this.loading = false;
9147
9164
  /** optionally add a round style to the button */
@@ -9303,7 +9320,7 @@ const SLOTS$j = {
9303
9320
  footerLeading: "footer-leading",
9304
9321
  footerTrailing: "footer-trailing"
9305
9322
  };
9306
- const TEXT$g = {
9323
+ const TEXT$h = {
9307
9324
  select: "Select",
9308
9325
  deselect: "Deselect",
9309
9326
  loading: "Loading"
@@ -9340,15 +9357,15 @@ class CalciteCard {
9340
9357
  /** string to override English loading text
9341
9358
  * @default "Loading"
9342
9359
  */
9343
- this.intlLoading = TEXT$g.loading;
9360
+ this.intlLoading = TEXT$h.loading;
9344
9361
  /** string to override English select text for checkbox when selectable is true
9345
9362
  * @default "Select"
9346
9363
  */
9347
- this.intlSelect = TEXT$g.select;
9364
+ this.intlSelect = TEXT$h.select;
9348
9365
  /** string to override English deselect text for checkbox when selectable is true
9349
9366
  * @default "Deselect"
9350
9367
  */
9351
- this.intlDeselect = TEXT$g.deselect;
9368
+ this.intlDeselect = TEXT$h.deselect;
9352
9369
  //--------------------------------------------------------------------------
9353
9370
  //
9354
9371
  // Private State/Props
@@ -9733,7 +9750,7 @@ const CSS$G = {
9733
9750
  chipImageContainer: "chip-image-container",
9734
9751
  calciteChipIcon: "calcite-chip--icon"
9735
9752
  };
9736
- const TEXT$f = {
9753
+ const TEXT$g = {
9737
9754
  close: "Close"
9738
9755
  };
9739
9756
  const SLOTS$i = {
@@ -9767,7 +9784,7 @@ class CalciteChip {
9767
9784
  /** Aria label for the "x" button
9768
9785
  * @default "Close"
9769
9786
  */
9770
- this.dismissLabel = TEXT$f.close;
9787
+ this.dismissLabel = TEXT$g.close;
9771
9788
  /** flip the icon in rtl */
9772
9789
  this.iconFlipRtl = false;
9773
9790
  /** specify the scale of the chip, defaults to m */
@@ -11965,7 +11982,7 @@ const HSV_LIMITS = {
11965
11982
  s: 100,
11966
11983
  v: 100
11967
11984
  };
11968
- const TEXT$e = {
11985
+ const TEXT$f = {
11969
11986
  b: "B",
11970
11987
  blue: "Blue",
11971
11988
  deleteColor: "Delete color",
@@ -12086,80 +12103,80 @@ class CalciteColorPicker {
12086
12103
  /** Label used for the blue channel
12087
12104
  * @default "B"
12088
12105
  */
12089
- this.intlB = TEXT$e.b;
12106
+ this.intlB = TEXT$f.b;
12090
12107
  /** Label used for the blue channel description
12091
12108
  * @default "Blue"
12092
12109
  */
12093
- this.intlBlue = TEXT$e.blue;
12110
+ this.intlBlue = TEXT$f.blue;
12094
12111
  /** Label used for the delete color button.
12095
12112
  * @default "Delete color"
12096
12113
  */
12097
- this.intlDeleteColor = TEXT$e.deleteColor;
12114
+ this.intlDeleteColor = TEXT$f.deleteColor;
12098
12115
  /** Label used for the green channel
12099
12116
  * @default "G"
12100
12117
  */
12101
- this.intlG = TEXT$e.g;
12118
+ this.intlG = TEXT$f.g;
12102
12119
  /** Label used for the green channel description
12103
12120
  * @default "Green"
12104
12121
  */
12105
- this.intlGreen = TEXT$e.green;
12122
+ this.intlGreen = TEXT$f.green;
12106
12123
  /** Label used for the hue channel
12107
12124
  * @default "H"
12108
12125
  */
12109
- this.intlH = TEXT$e.h;
12126
+ this.intlH = TEXT$f.h;
12110
12127
  /** Label used for the HSV mode
12111
12128
  * @default "HSV"
12112
12129
  */
12113
- this.intlHsv = TEXT$e.hsv;
12130
+ this.intlHsv = TEXT$f.hsv;
12114
12131
  /** Label used for the hex input
12115
12132
  * @default "Hex"
12116
12133
  */
12117
- this.intlHex = TEXT$e.hex;
12134
+ this.intlHex = TEXT$f.hex;
12118
12135
  /** Label used for the hue channel description
12119
12136
  * @default "Hue"
12120
12137
  */
12121
- this.intlHue = TEXT$e.hue;
12138
+ this.intlHue = TEXT$f.hue;
12122
12139
  /**
12123
12140
  * Label used for the hex input when there is no color selected.
12124
12141
  * @default "No color"
12125
12142
  */
12126
- this.intlNoColor = TEXT$e.noColor;
12143
+ this.intlNoColor = TEXT$f.noColor;
12127
12144
  /** Label used for the red channel
12128
12145
  * @default "R"
12129
12146
  */
12130
- this.intlR = TEXT$e.r;
12147
+ this.intlR = TEXT$f.r;
12131
12148
  /** Label used for the red channel description
12132
12149
  * @default "Red"
12133
12150
  */
12134
- this.intlRed = TEXT$e.red;
12151
+ this.intlRed = TEXT$f.red;
12135
12152
  /** Label used for the RGB mode
12136
12153
  * @default "RGB"
12137
12154
  */
12138
- this.intlRgb = TEXT$e.rgb;
12155
+ this.intlRgb = TEXT$f.rgb;
12139
12156
  /** Label used for the saturation channel
12140
12157
  * @default "S"
12141
12158
  */
12142
- this.intlS = TEXT$e.s;
12159
+ this.intlS = TEXT$f.s;
12143
12160
  /** Label used for the saturation channel description
12144
12161
  * @default "Saturation"
12145
12162
  */
12146
- this.intlSaturation = TEXT$e.saturation;
12163
+ this.intlSaturation = TEXT$f.saturation;
12147
12164
  /** Label used for the save color button.
12148
12165
  * @default "Save color"
12149
12166
  */
12150
- this.intlSaveColor = TEXT$e.saveColor;
12167
+ this.intlSaveColor = TEXT$f.saveColor;
12151
12168
  /** Label used for the saved colors section
12152
12169
  * @default "Saved"
12153
12170
  */
12154
- this.intlSaved = TEXT$e.saved;
12171
+ this.intlSaved = TEXT$f.saved;
12155
12172
  /** Label used for the value channel
12156
12173
  * @default "V"
12157
12174
  */
12158
- this.intlV = TEXT$e.v;
12175
+ this.intlV = TEXT$f.v;
12159
12176
  /** Label used for the
12160
12177
  * @default "Value"
12161
12178
  */
12162
- this.intlValue = TEXT$e.value;
12179
+ this.intlValue = TEXT$f.value;
12163
12180
  /**
12164
12181
  * The scale of the color picker.
12165
12182
  */
@@ -12884,12 +12901,12 @@ class CalciteColorPickerHexInput {
12884
12901
  * Label used for the hex input.
12885
12902
  * @default "Hex"
12886
12903
  */
12887
- this.intlHex = TEXT$e.hex;
12904
+ this.intlHex = TEXT$f.hex;
12888
12905
  /**
12889
12906
  * Label used for the hex input when there is no color selected.
12890
12907
  * @default "No color"
12891
12908
  */
12892
- this.intlNoColor = TEXT$e.noColor;
12909
+ this.intlNoColor = TEXT$f.noColor;
12893
12910
  /**
12894
12911
  * The component's scale.
12895
12912
  */
@@ -13404,7 +13421,7 @@ function contains(parent, child) {
13404
13421
  return false;
13405
13422
  }
13406
13423
 
13407
- function getComputedStyle(element) {
13424
+ function getComputedStyle$1(element) {
13408
13425
  return getWindow(element).getComputedStyle(element);
13409
13426
  }
13410
13427
 
@@ -13437,7 +13454,7 @@ function getParentNode(element) {
13437
13454
 
13438
13455
  function getTrueOffsetParent(element) {
13439
13456
  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
13440
- getComputedStyle(element).position === 'fixed') {
13457
+ getComputedStyle$1(element).position === 'fixed') {
13441
13458
  return null;
13442
13459
  }
13443
13460
 
@@ -13452,7 +13469,7 @@ function getContainingBlock(element) {
13452
13469
 
13453
13470
  if (isIE && isHTMLElement(element)) {
13454
13471
  // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
13455
- var elementCss = getComputedStyle(element);
13472
+ var elementCss = getComputedStyle$1(element);
13456
13473
 
13457
13474
  if (elementCss.position === 'fixed') {
13458
13475
  return null;
@@ -13462,7 +13479,7 @@ function getContainingBlock(element) {
13462
13479
  var currentNode = getParentNode(element);
13463
13480
 
13464
13481
  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
13465
- var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that
13482
+ var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
13466
13483
  // create a containing block.
13467
13484
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
13468
13485
 
@@ -13482,11 +13499,11 @@ function getOffsetParent(element) {
13482
13499
  var window = getWindow(element);
13483
13500
  var offsetParent = getTrueOffsetParent(element);
13484
13501
 
13485
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
13502
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
13486
13503
  offsetParent = getTrueOffsetParent(offsetParent);
13487
13504
  }
13488
13505
 
13489
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {
13506
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static')) {
13490
13507
  return window;
13491
13508
  }
13492
13509
 
@@ -13664,7 +13681,7 @@ function mapToStyles(_ref2) {
13664
13681
  if (offsetParent === getWindow(popper)) {
13665
13682
  offsetParent = getDocumentElement(popper);
13666
13683
 
13667
- if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
13684
+ if (getComputedStyle$1(offsetParent).position !== 'static' && position === 'absolute') {
13668
13685
  heightProp = 'scrollHeight';
13669
13686
  widthProp = 'scrollWidth';
13670
13687
  }
@@ -13893,7 +13910,7 @@ function getDocumentRect(element) {
13893
13910
  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
13894
13911
  var y = -winScroll.scrollTop;
13895
13912
 
13896
- if (getComputedStyle(body || html).direction === 'rtl') {
13913
+ if (getComputedStyle$1(body || html).direction === 'rtl') {
13897
13914
  x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
13898
13915
  }
13899
13916
 
@@ -13907,7 +13924,7 @@ function getDocumentRect(element) {
13907
13924
 
13908
13925
  function isScrollParent(element) {
13909
13926
  // Firefox wants us to check `-x` and `-y` variations as well
13910
- var _getComputedStyle = getComputedStyle(element),
13927
+ var _getComputedStyle = getComputedStyle$1(element),
13911
13928
  overflow = _getComputedStyle.overflow,
13912
13929
  overflowX = _getComputedStyle.overflowX,
13913
13930
  overflowY = _getComputedStyle.overflowY;
@@ -13982,7 +13999,7 @@ function getClientRectFromMixedType(element, clippingParent) {
13982
13999
 
13983
14000
  function getClippingParents(element) {
13984
14001
  var clippingParents = listScrollParents(getParentNode(element));
13985
- var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;
14002
+ var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle$1(element).position) >= 0;
13986
14003
  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
13987
14004
 
13988
14005
  if (!isElement(clipperElement)) {
@@ -16176,7 +16193,7 @@ function getDaysDiff(date1, date2) {
16176
16193
  }
16177
16194
 
16178
16195
  const HEADING_LEVEL$6 = 2;
16179
- const TEXT$d = {
16196
+ const TEXT$e = {
16180
16197
  nextMonth: "Next month",
16181
16198
  prevMonth: "Previous month"
16182
16199
  };
@@ -16191,11 +16208,11 @@ class CalciteDatePicker {
16191
16208
  /** Localized string for "previous month" (used for aria label)
16192
16209
  * @default "Previous month"
16193
16210
  */
16194
- this.intlPrevMonth = TEXT$d.prevMonth;
16211
+ this.intlPrevMonth = TEXT$e.prevMonth;
16195
16212
  /** Localized string for "next month" (used for aria label)
16196
16213
  * @default "Next month"
16197
16214
  */
16198
- this.intlNextMonth = TEXT$d.nextMonth;
16215
+ this.intlNextMonth = TEXT$e.nextMonth;
16199
16216
  /** BCP 47 language tag for desired language and country format */
16200
16217
  this.locale = document.documentElement.lang || "en";
16201
16218
  /** specify the scale of the date picker */
@@ -17841,7 +17858,7 @@ const CSS$w = {
17841
17858
  searchIcon: "search-icon",
17842
17859
  clearButton: "clear-button"
17843
17860
  };
17844
- const TEXT$c = {
17861
+ const TEXT$d = {
17845
17862
  filterLabel: "Filter",
17846
17863
  clear: "Clear filter"
17847
17864
  };
@@ -17955,9 +17972,9 @@ class CalciteFilter {
17955
17972
  render() {
17956
17973
  const rtl = getElementDir(this.el) === "rtl";
17957
17974
  const { disabled } = this;
17958
- return (hAsync(Fragment, null, disabled ? hAsync("calcite-scrim", null) : null, hAsync("div", { class: CSS$w.container }, hAsync("label", { class: rtl ? CSS_UTILITY.rtl : null }, hAsync("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) => {
17975
+ return (hAsync(Fragment, null, disabled ? hAsync("calcite-scrim", null) : null, hAsync("div", { class: CSS$w.container }, hAsync("label", { class: rtl ? CSS_UTILITY.rtl : null }, hAsync("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) => {
17959
17976
  this.textInput = el;
17960
- }, type: "text", value: this.value })), this.value ? (hAsync("button", { "aria-label": this.intlClear || TEXT$c.clear, class: CSS$w.clearButton, onClick: this.clear }, hAsync("calcite-icon", { icon: ICONS$8.close }))) : null)));
17977
+ }, type: "text", value: this.value })), this.value ? (hAsync("button", { "aria-label": this.intlClear || TEXT$d.clear, class: CSS$w.clearButton, onClick: this.clear }, hAsync("calcite-icon", { icon: ICONS$8.close }))) : null)));
17961
17978
  }
17962
17979
  get el() { return getElement(this); }
17963
17980
  static get watchers() { return {
@@ -18513,7 +18530,7 @@ const CSS$s = {
18513
18530
  enableEditingButton: "enable-editing-button",
18514
18531
  controlsWrapper: "controls-wrapper"
18515
18532
  };
18516
- const TEXT$b = {
18533
+ const TEXT$c = {
18517
18534
  intlEnablingEditing: "Click to edit",
18518
18535
  intlCancelEditing: "Cancel",
18519
18536
  intlConfirmChanges: "Save"
@@ -18546,15 +18563,15 @@ class CalciteInlineEditable {
18546
18563
  /** specify text to be user for the enable editing button's aria-label, defaults to `Click to edit`
18547
18564
  * @default "Click to edit"
18548
18565
  */
18549
- this.intlEnableEditing = TEXT$b.intlEnablingEditing;
18566
+ this.intlEnableEditing = TEXT$c.intlEnablingEditing;
18550
18567
  /** specify text to be user for the cancel editing button's aria-label, defaults to `Cancel`
18551
18568
  * @default "Cancel"
18552
18569
  */
18553
- this.intlCancelEditing = TEXT$b.intlCancelEditing;
18570
+ this.intlCancelEditing = TEXT$c.intlCancelEditing;
18554
18571
  /** specify text to be user for the confirm changes button's aria-label, defaults to `Save`
18555
18572
  * @default "Save"
18556
18573
  */
18557
- this.intlConfirmChanges = TEXT$b.intlConfirmChanges;
18574
+ this.intlConfirmChanges = TEXT$c.intlConfirmChanges;
18558
18575
  this.transitionEnd = (event) => {
18559
18576
  if (!this.editingEnabled && !!this.shouldEmitCancel) {
18560
18577
  this.calciteInlineEditableEditingCancel.emit(event);
@@ -18786,7 +18803,7 @@ class CalciteInput {
18786
18803
  * string to override English loading text
18787
18804
  * @default "Loading"
18788
18805
  */
18789
- this.intlLoading = TEXT$p.loading;
18806
+ this.intlLoading = TEXT$q.loading;
18790
18807
  /** flip the icon in rtl */
18791
18808
  this.iconFlipRtl = false;
18792
18809
  /** specify if the input is in loading state */
@@ -18944,12 +18961,13 @@ class CalciteInput {
18944
18961
  const inputMin = this.minString ? parseFloat(this.minString) : null;
18945
18962
  const valueNudgeDelayInMs = 100;
18946
18963
  this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent);
18947
- let nudgeNumberValueIntervalCount = 0;
18964
+ let firstValueNudge = true;
18948
18965
  this.nudgeNumberValueIntervalId = setInterval(() => {
18949
- nudgeNumberValueIntervalCount !== 0
18950
- ? this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent)
18951
- : null;
18952
- nudgeNumberValueIntervalCount++;
18966
+ if (firstValueNudge) {
18967
+ firstValueNudge = false;
18968
+ return;
18969
+ }
18970
+ this.incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent);
18953
18971
  }, valueNudgeDelayInMs);
18954
18972
  };
18955
18973
  this.numberButtonMouseUpAndMouseOutHandler = () => {
@@ -19257,11 +19275,11 @@ class CalciteInputDatePicker {
19257
19275
  /** Localized string for "previous month" (used for aria label)
19258
19276
  * @default "Previous month"
19259
19277
  */
19260
- this.intlPrevMonth = TEXT$d.prevMonth;
19278
+ this.intlPrevMonth = TEXT$e.prevMonth;
19261
19279
  /** Localized string for "next month" (used for aria label)
19262
19280
  * @default "Next month"
19263
19281
  */
19264
- this.intlNextMonth = TEXT$d.nextMonth;
19282
+ this.intlNextMonth = TEXT$e.nextMonth;
19265
19283
  /** BCP 47 language tag for desired language and country format */
19266
19284
  this.locale = document.documentElement.lang || "en";
19267
19285
  /** specify the scale of the date picker */
@@ -20617,7 +20635,7 @@ const SLOTS$e = {
20617
20635
  secondary: "secondary",
20618
20636
  primary: "primary"
20619
20637
  };
20620
- const TEXT$a = {
20638
+ const TEXT$b = {
20621
20639
  close: "Close"
20622
20640
  };
20623
20641
 
@@ -20655,7 +20673,7 @@ class CalciteModal {
20655
20673
  /** Disables the closing of the Modal when clicked outside. */
20656
20674
  this.disableOutsideClose = false;
20657
20675
  /** Aria label for the close button */
20658
- this.intlClose = TEXT$a.close;
20676
+ this.intlClose = TEXT$b.close;
20659
20677
  /** Flag to disable the default close on escape behavior */
20660
20678
  this.disableEscape = false;
20661
20679
  /** specify the scale of modal, defaults to m */
@@ -20880,7 +20898,7 @@ class CalciteModal {
20880
20898
  }; }
20881
20899
  }
20882
20900
 
20883
- const TEXT$9 = {
20901
+ const TEXT$a = {
20884
20902
  close: "Close"
20885
20903
  };
20886
20904
  const SLOTS$d = {
@@ -20929,7 +20947,7 @@ class CalciteNotice {
20929
20947
  /** String for the close button.
20930
20948
  * @default "Close"
20931
20949
  */
20932
- this.intlClose = TEXT$9.close;
20950
+ this.intlClose = TEXT$a.close;
20933
20951
  /** specify the scale of the notice, defaults to m */
20934
20952
  this.scale = "m";
20935
20953
  /** specify the width of the notice, defaults to auto */
@@ -21152,7 +21170,7 @@ const CSS$k = {
21152
21170
  ellipsisStart: "ellipsis--start",
21153
21171
  ellipsisEnd: "ellipsis--end"
21154
21172
  };
21155
- const TEXT$8 = {
21173
+ const TEXT$9 = {
21156
21174
  nextLabel: "Next",
21157
21175
  previousLabel: "Previous"
21158
21176
  };
@@ -21179,11 +21197,11 @@ class CalcitePagination {
21179
21197
  /** Used as an accessible label (aria-label) for the next button
21180
21198
  * @default "Next"
21181
21199
  */
21182
- this.textLabelNext = TEXT$8.nextLabel;
21200
+ this.textLabelNext = TEXT$9.nextLabel;
21183
21201
  /** Used as an accessible label (aria-label) of the previous button
21184
21202
  * @default "Previous"
21185
21203
  */
21186
- this.textLabelPrevious = TEXT$8.previousLabel;
21204
+ this.textLabelPrevious = TEXT$9.previousLabel;
21187
21205
  /** The scale of the pagination */
21188
21206
  this.scale = "m";
21189
21207
  this.previousClicked = () => {
@@ -21360,7 +21378,7 @@ const SLOTS$c = {
21360
21378
  footer: "footer",
21361
21379
  footerActions: "footer-actions"
21362
21380
  };
21363
- const TEXT$7 = {
21381
+ const TEXT$8 = {
21364
21382
  back: "Back",
21365
21383
  close: "Close",
21366
21384
  open: "Open",
@@ -21474,7 +21492,7 @@ class CalcitePanel {
21474
21492
  const { el } = this;
21475
21493
  const rtl = getElementDir(el) === "rtl";
21476
21494
  const { showBackButton, intlBack, backButtonClick } = this;
21477
- const label = intlBack || TEXT$7.back;
21495
+ const label = intlBack || TEXT$8.back;
21478
21496
  const icon = rtl ? ICONS$5.backRight : ICONS$5.backLeft;
21479
21497
  return showBackButton ? (hAsync("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;
21480
21498
  }
@@ -21497,7 +21515,7 @@ class CalcitePanel {
21497
21515
  }
21498
21516
  renderHeaderActionsEnd() {
21499
21517
  const { dismiss, dismissible, el, intlClose } = this;
21500
- const text = intlClose || TEXT$7.close;
21518
+ const text = intlClose || TEXT$8.close;
21501
21519
  const dismissibleNode = dismissible ? (hAsync("calcite-action", { "aria-label": text, icon: ICONS$5.close, onClick: dismiss, ref: this.setDismissRef, text: text })) : null;
21502
21520
  const slotNode = hAsync("slot", { name: SLOTS$c.headerActionsEnd });
21503
21521
  const hasEndActions = getSlotted(el, SLOTS$c.headerActionsEnd);
@@ -21506,7 +21524,7 @@ class CalcitePanel {
21506
21524
  renderMenu() {
21507
21525
  const { el, intlOptions, menuOpen } = this;
21508
21526
  const hasMenuItems = getSlotted(el, SLOTS$c.headerMenuActions);
21509
- return hasMenuItems ? (hAsync("calcite-action-menu", { flipPlacements: ["top", "bottom"], label: intlOptions || TEXT$7.options, open: menuOpen, placement: "bottom-end" }, hAsync("calcite-action", { icon: ICONS$5.menu, slot: SLOTS$p.trigger, text: intlOptions || TEXT$7.options }), hAsync("slot", { name: SLOTS$c.headerMenuActions }))) : null;
21527
+ return hasMenuItems ? (hAsync("calcite-action-menu", { flipPlacements: ["top", "bottom"], label: intlOptions || TEXT$8.options, open: menuOpen, placement: "bottom-end" }, hAsync("calcite-action", { icon: ICONS$5.menu, slot: SLOTS$p.trigger, text: intlOptions || TEXT$8.options }), hAsync("slot", { name: SLOTS$c.headerMenuActions }))) : null;
21510
21528
  }
21511
21529
  renderHeaderNode() {
21512
21530
  const { el, showBackButton } = this;
@@ -22097,7 +22115,7 @@ const SLOTS$9 = {
22097
22115
  actionsEnd: "actions-end",
22098
22116
  actionsStart: "actions-start"
22099
22117
  };
22100
- const TEXT$6 = {
22118
+ const TEXT$7 = {
22101
22119
  remove: "Remove"
22102
22120
  };
22103
22121
 
@@ -22143,7 +22161,7 @@ class CalcitePickListItem {
22143
22161
  * Used as an accessible label (aria-label) for the "remove item" action. Only applicable if removable is true.
22144
22162
  * @default "Remove"
22145
22163
  */
22146
- this.intlRemove = TEXT$6.remove;
22164
+ this.intlRemove = TEXT$7.remove;
22147
22165
  // --------------------------------------------------------------------------
22148
22166
  //
22149
22167
  // Private Methods
@@ -22286,7 +22304,7 @@ const CSS$f = {
22286
22304
  headerContent: "header-content",
22287
22305
  heading: "heading"
22288
22306
  };
22289
- const TEXT$5 = {
22307
+ const TEXT$6 = {
22290
22308
  close: "Close"
22291
22309
  };
22292
22310
  const POPOVER_REFERENCE = "data-calcite-popover-reference";
@@ -22349,7 +22367,7 @@ class CalcitePopover {
22349
22367
  /** Text for close button.
22350
22368
  * @default "Close"
22351
22369
  */
22352
- this.intlClose = TEXT$5.close;
22370
+ this.intlClose = TEXT$6.close;
22353
22371
  this.guid = `calcite-popover-${guid()}`;
22354
22372
  this.activeTransitionProp = "opacity";
22355
22373
  // --------------------------------------------------------------------------
@@ -23460,7 +23478,7 @@ class CalciteRadioGroupItem {
23460
23478
  }; }
23461
23479
  }
23462
23480
 
23463
- const TEXT$4 = {
23481
+ const TEXT$5 = {
23464
23482
  rating: "Rating",
23465
23483
  stars: "Stars: ${num}"
23466
23484
  };
@@ -23489,11 +23507,11 @@ class CalciteRating {
23489
23507
  /** Localized string for "Rating" (used for aria label)
23490
23508
  * @default "Rating"
23491
23509
  */
23492
- this.intlRating = TEXT$4.rating;
23510
+ this.intlRating = TEXT$5.rating;
23493
23511
  /** Localized string for labelling each star, `${num}` in the string will be replaced by the number
23494
23512
  * @default "Stars: ${num}"
23495
23513
  */
23496
- this.intlStars = TEXT$4.stars;
23514
+ this.intlStars = TEXT$5.stars;
23497
23515
  /**
23498
23516
  * When true, makes the component required for form-submission.
23499
23517
  *
@@ -23603,7 +23621,7 @@ const CSS$c = {
23603
23621
  scrim: "scrim",
23604
23622
  content: "content"
23605
23623
  };
23606
- const TEXT$3 = {
23624
+ const TEXT$4 = {
23607
23625
  loading: "Loading"
23608
23626
  };
23609
23627
 
@@ -23623,7 +23641,7 @@ class CalciteScrim {
23623
23641
  /** string to override English loading text
23624
23642
  * @default "Loading"
23625
23643
  */
23626
- this.intlLoading = TEXT$3.loading;
23644
+ this.intlLoading = TEXT$4.loading;
23627
23645
  /**
23628
23646
  * Determines if the component will have the loader overlay.
23629
23647
  * Otherwise, will render opaque disabled state.
@@ -24047,14 +24065,18 @@ const CSS$8 = {
24047
24065
  content: "content",
24048
24066
  contentHeader: "content__header",
24049
24067
  contentBody: "content__body",
24050
- contentDetached: "content--detached"
24068
+ contentDetached: "content--detached",
24069
+ separator: "separator"
24051
24070
  };
24052
24071
  const SLOTS$5 = {
24053
24072
  actionBar: "action-bar",
24054
24073
  header: "header"
24055
24074
  };
24075
+ const TEXT$3 = {
24076
+ resize: "Resize"
24077
+ };
24056
24078
 
24057
- 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*/.sc-calcite-shell-panel:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-shell-panel{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*/.calcite-animate__in.sc-calcite-shell-panel{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-shell-panel{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-shell-panel{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-shell-panel{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-shell-panel:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-shell-panel-h{display:none}/*!@:host*/.sc-calcite-shell-panel-h{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*/.container.sc-calcite-shell-panel{-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 **/.container.sc-calcite-shell-panel *.sc-calcite-shell-panel{-webkit-box-sizing:border-box;box-sizing:border-box}/*!@::slotted(calcite-panel),\n::slotted(calcite-flow)*/.sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-s>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)*/.sc-calcite-shell-panel-s>.calcite-match-height{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden}/*!@.content*/.content.sc-calcite-shell-panel{-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*/.content__header.sc-calcite-shell-panel{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*/.content__body.sc-calcite-shell-panel{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*/[width-scale=s].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[width-scale=m].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[width-scale=l].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[detached-height-scale=s].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:40vh}/*!@:host([detached-height-scale=m]) .content--detached*/[detached-height-scale=m].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:60vh}/*!@:host([detached-height-scale=l]) .content--detached*/[detached-height-scale=l].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:80vh}/*!@.content--detached*/.content--detached.sc-calcite-shell-panel{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),\n.content--detached ::slotted(calcite-flow)*/.content--detached .sc-calcite-shell-panel-s>calcite-panel,.content--detached .sc-calcite-shell-panel-s>calcite-flow{max-height:unset}/*!@:host([position=start]) .content--detached ::slotted(calcite-panel),\n:host([position=start]) .content--detached ::slotted(calcite-flow),\n:host([position=end]) .content--detached ::slotted(calcite-panel),\n:host([position=end]) .content--detached ::slotted(calcite-flow)*/.sc-calcite-shell-panel-h[position=start] .content--detached .sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-h[position=start] .content--detached .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=end] .content--detached .sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-h[position=end] .content--detached .sc-calcite-shell-panel-s>calcite-flow{border-style:none}/*!@.content[hidden]*/.content[hidden].sc-calcite-shell-panel{display:none}/*!@slot[name=action-bar]::slotted(calcite-action-bar),\n.content ::slotted(calcite-flow),\n.content ::slotted(calcite-panel)*/slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.content .sc-calcite-shell-panel-s>calcite-flow,.content .sc-calcite-shell-panel-s>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),\n:host([position=start]) .content ::slotted(calcite-flow),\n:host([position=start]) .content ::slotted(calcite-panel)*/.sc-calcite-shell-panel-h[position=start] slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.sc-calcite-shell-panel-h[position=start] .content .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=start] .content .sc-calcite-shell-panel-s>calcite-panel{-webkit-border-start:none;border-inline-start:none}/*!@:host([position=end]) slot[name=action-bar]::slotted(calcite-action-bar),\n:host([position=end]) .content ::slotted(calcite-flow),\n:host([position=end]) .content ::slotted(calcite-panel)*/.sc-calcite-shell-panel-h[position=end] slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.sc-calcite-shell-panel-h[position=end] .content .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=end] .content .sc-calcite-shell-panel-s>calcite-panel{-webkit-border-end:none;border-inline-end:none}";
24079
+ 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*/.sc-calcite-shell-panel:root{--calcite-animation-timing:300ms}/*!@.calcite-animate*/.calcite-animate.sc-calcite-shell-panel{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*/.calcite-animate__in.sc-calcite-shell-panel{-webkit-animation-name:in;animation-name:in}/*!@.calcite-animate__in-down*/.calcite-animate__in-down.sc-calcite-shell-panel{-webkit-animation-name:in-down;animation-name:in-down}/*!@.calcite-animate__in-up*/.calcite-animate__in-up.sc-calcite-shell-panel{-webkit-animation-name:in-up;animation-name:in-up}/*!@.calcite-animate__in-scale*/.calcite-animate__in-scale.sc-calcite-shell-panel{-webkit-animation-name:in-scale;animation-name:in-scale}/*!@:root*/.sc-calcite-shell-panel:root{--calcite-popper-transition:150ms ease-in-out}/*!@:host([hidden])*/[hidden].sc-calcite-shell-panel-h{display:none}/*!@:host*/.sc-calcite-shell-panel-h{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*/.container.sc-calcite-shell-panel{-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 **/.container.sc-calcite-shell-panel *.sc-calcite-shell-panel{-webkit-box-sizing:border-box;box-sizing:border-box}/*!@:host(:hover) .separator:not(:hover):not(:focus),\n:host(:focus-within) .separator:not(:hover):not(:focus)*/.sc-calcite-shell-panel-h:hover .separator.sc-calcite-shell-panel:not(:hover):not(:focus),.sc-calcite-shell-panel-h:focus-within .separator.sc-calcite-shell-panel:not(:hover):not(:focus){opacity:1;background-color:var(--calcite-ui-border-3)}/*!@.separator*/.separator.sc-calcite-shell-panel{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*/.separator.sc-calcite-shell-panel:hover{opacity:1;background-color:var(--calcite-ui-border-2)}/*!@.separator:focus*/.separator.sc-calcite-shell-panel:focus{background-color:var(--calcite-ui-brand);opacity:1}/*!@:host([position=start]) .separator*/[position=start].sc-calcite-shell-panel-h .separator.sc-calcite-shell-panel{inset-inline-end:-2px}/*!@:host([position=end]) .separator*/[position=end].sc-calcite-shell-panel-h .separator.sc-calcite-shell-panel{inset-inline-start:-2px}/*!@::slotted(calcite-panel),\n::slotted(calcite-flow)*/.sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-s>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)*/.sc-calcite-shell-panel-s>.calcite-match-height{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;overflow:hidden}/*!@.content*/.content.sc-calcite-shell-panel{-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*/.content__header.sc-calcite-shell-panel{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*/.content__body.sc-calcite-shell-panel{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*/[width-scale=s].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[width-scale=m].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[width-scale=l].sc-calcite-shell-panel-h .content.sc-calcite-shell-panel{--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*/[detached-height-scale=s].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:40vh}/*!@:host([detached-height-scale=m]) .content--detached*/[detached-height-scale=m].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:60vh}/*!@:host([detached-height-scale=l]) .content--detached*/[detached-height-scale=l].sc-calcite-shell-panel-h .content--detached.sc-calcite-shell-panel{--calcite-shell-panel-detached-max-height:80vh}/*!@.content--detached*/.content--detached.sc-calcite-shell-panel{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),\n.content--detached ::slotted(calcite-flow)*/.content--detached .sc-calcite-shell-panel-s>calcite-panel,.content--detached .sc-calcite-shell-panel-s>calcite-flow{max-height:unset}/*!@:host([position=start]) .content--detached ::slotted(calcite-panel),\n:host([position=start]) .content--detached ::slotted(calcite-flow),\n:host([position=end]) .content--detached ::slotted(calcite-panel),\n:host([position=end]) .content--detached ::slotted(calcite-flow)*/.sc-calcite-shell-panel-h[position=start] .content--detached .sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-h[position=start] .content--detached .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=end] .content--detached .sc-calcite-shell-panel-s>calcite-panel,.sc-calcite-shell-panel-h[position=end] .content--detached .sc-calcite-shell-panel-s>calcite-flow{border-style:none}/*!@.content[hidden]*/.content[hidden].sc-calcite-shell-panel{display:none}/*!@slot[name=action-bar]::slotted(calcite-action-bar),\n.content ::slotted(calcite-flow),\n.content ::slotted(calcite-panel)*/slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.content .sc-calcite-shell-panel-s>calcite-flow,.content .sc-calcite-shell-panel-s>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),\n:host([position=start]) .content ::slotted(calcite-flow),\n:host([position=start]) .content ::slotted(calcite-panel)*/.sc-calcite-shell-panel-h[position=start] slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.sc-calcite-shell-panel-h[position=start] .content .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=start] .content .sc-calcite-shell-panel-s>calcite-panel{-webkit-border-start:none;border-inline-start:none}/*!@:host([position=end]) slot[name=action-bar]::slotted(calcite-action-bar),\n:host([position=end]) .content ::slotted(calcite-flow),\n:host([position=end]) .content ::slotted(calcite-panel)*/.sc-calcite-shell-panel-h[position=end] slot[name=action-bar].sc-calcite-shell-panel-s>calcite-action-bar,.sc-calcite-shell-panel-h[position=end] .content .sc-calcite-shell-panel-s>calcite-flow,.sc-calcite-shell-panel-h[position=end] .content .sc-calcite-shell-panel-s>calcite-panel{-webkit-border-end:none;border-inline-end:none}";
24058
24080
 
24059
24081
  /**
24060
24082
  * @slot - A slot for adding content to the shell panel.
@@ -24085,10 +24107,121 @@ class CalciteShellPanel {
24085
24107
  * This sets width of the content area.
24086
24108
  */
24087
24109
  this.widthScale = "m";
24110
+ /**
24111
+ * Accessible label for resize separator.
24112
+ * @default "Resize"
24113
+ */
24114
+ this.intlResize = TEXT$3.resize;
24115
+ /**
24116
+ * This property makes the content area resizable if the calcite-shell-panel is not 'detached'.
24117
+ */
24118
+ this.resizable = false;
24119
+ this.contentWidth = null;
24120
+ this.initialContentWidth = null;
24121
+ this.initialClientX = null;
24122
+ this.contentWidthMax = null;
24123
+ this.contentWidthMin = null;
24124
+ this.step = 1;
24125
+ this.stepMultiplier = 10;
24126
+ this.storeContentEl = (contentEl) => {
24127
+ this.contentEl = contentEl;
24128
+ };
24129
+ this.getKeyAdjustedWidth = (event) => {
24130
+ const { key } = event;
24131
+ const { step, stepMultiplier, contentWidthMin, contentWidthMax, initialContentWidth, position } = this;
24132
+ const multipliedStep = step * stepMultiplier;
24133
+ const MOVEMENT_KEYS = [
24134
+ "ArrowUp",
24135
+ "ArrowDown",
24136
+ "ArrowLeft",
24137
+ "ArrowRight",
24138
+ "Home",
24139
+ "End",
24140
+ "PageUp",
24141
+ "PageDown"
24142
+ ];
24143
+ if (MOVEMENT_KEYS.indexOf(key) > -1) {
24144
+ event.preventDefault();
24145
+ }
24146
+ const increaseKeys = key === "ArrowUp" || (position === "end" ? key === "ArrowLeft" : key === "ArrowRight");
24147
+ if (increaseKeys) {
24148
+ const stepValue = event.shiftKey ? multipliedStep : step;
24149
+ return initialContentWidth + stepValue;
24150
+ }
24151
+ const decreaseKeys = key === "ArrowDown" || (position === "end" ? key === "ArrowRight" : key === "ArrowLeft");
24152
+ if (decreaseKeys) {
24153
+ const stepValue = event.shiftKey ? multipliedStep : step;
24154
+ return initialContentWidth - stepValue;
24155
+ }
24156
+ if (typeof contentWidthMin === "number" && key === "Home") {
24157
+ return contentWidthMin;
24158
+ }
24159
+ if (typeof contentWidthMax === "number" && key === "End") {
24160
+ return contentWidthMax;
24161
+ }
24162
+ if (key === "PageDown") {
24163
+ return initialContentWidth - multipliedStep;
24164
+ }
24165
+ if (key === "PageUp") {
24166
+ return initialContentWidth + multipliedStep;
24167
+ }
24168
+ return null;
24169
+ };
24170
+ this.separatorKeyDown = (event) => {
24171
+ this.setInitialContentWidth();
24172
+ const width = this.getKeyAdjustedWidth(event);
24173
+ if (typeof width === "number") {
24174
+ this.setContentWidth(width);
24175
+ }
24176
+ };
24177
+ this.separatorPointerMove = (event) => {
24178
+ event.preventDefault();
24179
+ const { initialContentWidth, position, initialClientX } = this;
24180
+ const offset = event.clientX - initialClientX;
24181
+ this.setContentWidth(position === "end" ? initialContentWidth - offset : initialContentWidth + offset);
24182
+ };
24183
+ this.separatorPointerUp = (event) => {
24184
+ event.preventDefault();
24185
+ document.removeEventListener("pointerup", this.separatorPointerUp);
24186
+ document.removeEventListener("pointermove", this.separatorPointerMove);
24187
+ };
24188
+ this.setInitialContentWidth = () => {
24189
+ var _a;
24190
+ this.initialContentWidth = (_a = this.contentEl) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
24191
+ };
24192
+ this.separatorPointerDown = (event) => {
24193
+ event.preventDefault();
24194
+ const { separatorEl } = this;
24195
+ separatorEl && document.activeElement !== separatorEl && separatorEl.focus();
24196
+ this.setInitialContentWidth();
24197
+ this.initialClientX = event.clientX;
24198
+ document.addEventListener("pointerup", this.separatorPointerUp);
24199
+ document.addEventListener("pointermove", this.separatorPointerMove);
24200
+ };
24201
+ this.connectSeparator = (separatorEl) => {
24202
+ this.disconnectSeparator();
24203
+ this.separatorEl = separatorEl;
24204
+ separatorEl.addEventListener("pointerdown", this.separatorPointerDown);
24205
+ };
24206
+ this.disconnectSeparator = () => {
24207
+ var _a;
24208
+ (_a = this.separatorEl) === null || _a === void 0 ? void 0 : _a.removeEventListener("pointerdown", this.separatorPointerDown);
24209
+ };
24088
24210
  }
24089
24211
  watchHandler() {
24090
24212
  this.calciteShellPanelToggle.emit();
24091
24213
  }
24214
+ //--------------------------------------------------------------------------
24215
+ //
24216
+ // Lifecycle
24217
+ //
24218
+ //--------------------------------------------------------------------------
24219
+ disconnectedCallback() {
24220
+ this.disconnectSeparator();
24221
+ }
24222
+ componentDidLoad() {
24223
+ this.updateAriaValues();
24224
+ }
24092
24225
  // --------------------------------------------------------------------------
24093
24226
  //
24094
24227
  // Render Methods
@@ -24100,15 +24233,50 @@ class CalciteShellPanel {
24100
24233
  return hasHeader ? (hAsync("div", { class: CSS$8.contentHeader }, hAsync("slot", { name: SLOTS$5.header }))) : null;
24101
24234
  }
24102
24235
  render() {
24103
- const { collapsed, detached, position } = this;
24104
- const contentNode = (hAsync("div", { class: { [CSS$8.content]: true, [CSS$8.contentDetached]: detached }, hidden: collapsed }, this.renderHeader(), hAsync("div", { class: CSS$8.contentBody }, hAsync("slot", null))));
24236
+ const { collapsed, detached, position, initialContentWidth, contentWidth, contentWidthMax, contentWidthMin, intlResize, resizable } = this;
24237
+ const allowResizing = !detached && resizable;
24238
+ const contentNode = (hAsync("div", { class: { [CSS$8.content]: true, [CSS$8.contentDetached]: detached }, hidden: collapsed, ref: this.storeContentEl, style: allowResizing && contentWidth ? { width: `${contentWidth}px` } : null }, this.renderHeader(), hAsync("div", { class: CSS$8.contentBody }, hAsync("slot", null))));
24239
+ const separatorNode = allowResizing ? (hAsync("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;
24105
24240
  const actionBarNode = hAsync("slot", { name: SLOTS$5.actionBar });
24106
- const mainNodes = [actionBarNode, contentNode];
24241
+ const mainNodes = [actionBarNode, contentNode, separatorNode];
24107
24242
  if (position === "end") {
24108
24243
  mainNodes.reverse();
24109
24244
  }
24110
24245
  return hAsync("div", { class: { [CSS$8.container]: true } }, mainNodes);
24111
24246
  }
24247
+ // --------------------------------------------------------------------------
24248
+ //
24249
+ // private Methods
24250
+ //
24251
+ // --------------------------------------------------------------------------
24252
+ setContentWidth(width) {
24253
+ const { contentWidthMax, contentWidthMin } = this;
24254
+ const roundedWidth = Math.round(width);
24255
+ this.contentWidth =
24256
+ typeof contentWidthMax === "number" && typeof contentWidthMin === "number"
24257
+ ? clamp(roundedWidth, contentWidthMin, contentWidthMax)
24258
+ : roundedWidth;
24259
+ }
24260
+ updateAriaValues() {
24261
+ const { contentEl } = this;
24262
+ const computedStyle = contentEl && getComputedStyle(contentEl);
24263
+ if (!computedStyle) {
24264
+ return;
24265
+ }
24266
+ const max = parseInt(computedStyle.getPropertyValue("max-width"), 10);
24267
+ const min = parseInt(computedStyle.getPropertyValue("min-width"), 10);
24268
+ const valueNow = parseInt(computedStyle.getPropertyValue("width"), 10);
24269
+ if (typeof valueNow === "number" && !isNaN(valueNow)) {
24270
+ this.initialContentWidth = valueNow;
24271
+ }
24272
+ if (typeof max === "number" && !isNaN(max)) {
24273
+ this.contentWidthMax = max;
24274
+ }
24275
+ if (typeof min === "number" && !isNaN(min)) {
24276
+ this.contentWidthMin = min;
24277
+ }
24278
+ forceUpdate$1(this);
24279
+ }
24112
24280
  get el() { return getElement(this); }
24113
24281
  static get watchers() { return {
24114
24282
  "collapsed": ["watchHandler"]
@@ -24122,11 +24290,14 @@ class CalciteShellPanel {
24122
24290
  "detached": [516],
24123
24291
  "detachedHeightScale": [513, "detached-height-scale"],
24124
24292
  "widthScale": [513, "width-scale"],
24125
- "position": [513]
24293
+ "position": [513],
24294
+ "intlResize": [1, "intl-resize"],
24295
+ "resizable": [516],
24296
+ "contentWidth": [32]
24126
24297
  },
24127
24298
  "$listeners$": undefined,
24128
24299
  "$lazyBundleId$": "-",
24129
- "$attrsToReflect$": [["collapsed", "collapsed"], ["detached", "detached"], ["detachedHeightScale", "detached-height-scale"], ["widthScale", "width-scale"], ["position", "position"]]
24300
+ "$attrsToReflect$": [["collapsed", "collapsed"], ["detached", "detached"], ["detachedHeightScale", "detached-height-scale"], ["widthScale", "width-scale"], ["position", "position"], ["resizable", "resizable"]]
24130
24301
  }; }
24131
24302
  }
24132
24303