@ni/ok-components 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -111,7 +111,7 @@
111
111
  // eslint-disable-next-line no-new-func
112
112
  return new Function("return this")();
113
113
  }
114
- catch (_a) {
114
+ catch {
115
115
  // If all fails, give up and create an object.
116
116
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
117
117
  return {};
@@ -127,7 +127,10 @@
127
127
  writable: false,
128
128
  };
129
129
  if ($global.FAST === void 0) {
130
- Reflect.defineProperty($global, "FAST", Object.assign({ value: Object.create(null) }, propConfig));
130
+ Reflect.defineProperty($global, "FAST", {
131
+ value: Object.create(null),
132
+ ...propConfig,
133
+ });
131
134
  }
132
135
  /**
133
136
  * The FAST global.
@@ -136,13 +139,16 @@
136
139
  const FAST = $global.FAST;
137
140
  if (FAST.getById === void 0) {
138
141
  const storage = Object.create(null);
139
- Reflect.defineProperty(FAST, "getById", Object.assign({ value(id, initialize) {
142
+ Reflect.defineProperty(FAST, "getById", {
143
+ value(id, initialize) {
140
144
  let found = storage[id];
141
145
  if (found === void 0) {
142
146
  found = initialize ? (storage[id] = initialize()) : null;
143
147
  }
144
148
  return found;
145
- } }, propConfig));
149
+ },
150
+ ...propConfig,
151
+ });
146
152
  }
147
153
  /**
148
154
  * A readonly, empty array.
@@ -511,12 +517,11 @@
511
517
  * @param propertyName - The property name, passed along to subscribers during notification.
512
518
  */
513
519
  notify(propertyName) {
514
- var _a;
515
520
  const subscribers = this.subscribers[propertyName];
516
521
  if (subscribers !== void 0) {
517
522
  subscribers.notify(propertyName);
518
523
  }
519
- (_a = this.sourceSubscribers) === null || _a === void 0 ? void 0 : _a.notify(propertyName);
524
+ this.sourceSubscribers?.notify(propertyName);
520
525
  }
521
526
  /**
522
527
  * Subscribes to notification of changes in an object's state.
@@ -524,7 +529,6 @@
524
529
  * @param propertyToWatch - The name of the property that the subscriber is interested in watching for changes.
525
530
  */
526
531
  subscribe(subscriber, propertyToWatch) {
527
- var _a;
528
532
  if (propertyToWatch) {
529
533
  let subscribers = this.subscribers[propertyToWatch];
530
534
  if (subscribers === void 0) {
@@ -534,7 +538,7 @@
534
538
  }
535
539
  else {
536
540
  this.sourceSubscribers =
537
- (_a = this.sourceSubscribers) !== null && _a !== void 0 ? _a : new SubscriberSet(this.source);
541
+ this.sourceSubscribers ?? new SubscriberSet(this.source);
538
542
  this.sourceSubscribers.subscribe(subscriber);
539
543
  }
540
544
  }
@@ -544,7 +548,6 @@
544
548
  * @param propertyToUnwatch - The name of the property that the subscriber is no longer interested in watching.
545
549
  */
546
550
  unsubscribe(subscriber, propertyToUnwatch) {
547
- var _a;
548
551
  if (propertyToUnwatch) {
549
552
  const subscribers = this.subscribers[propertyToUnwatch];
550
553
  if (subscribers !== void 0) {
@@ -552,7 +555,7 @@
552
555
  }
553
556
  }
554
557
  else {
555
- (_a = this.sourceSubscribers) === null || _a === void 0 ? void 0 : _a.unsubscribe(subscriber);
558
+ this.sourceSubscribers?.unsubscribe(subscriber);
556
559
  }
557
560
  }
558
561
  }
@@ -562,7 +565,7 @@
562
565
  * @public
563
566
  */
564
567
  const Observable = FAST.getById(2 /* KernelServiceId.observable */, () => {
565
- const volatileRegex = /(:|&&|\|\||if)/;
568
+ const volatileRegex = /(\?\?|:|&&|\|\||if)/;
566
569
  const notifierLookup = new WeakMap();
567
570
  const queueUpdate = DOM.queueUpdate;
568
571
  let watcher = void 0;
@@ -1110,14 +1113,15 @@
1110
1113
  /**
1111
1114
  * Creates an instance of BindingDirective.
1112
1115
  * @param binding - A binding that returns the data used to update the DOM.
1116
+ * @param isVolatile - Optional parameter indicating whether the binding is volatile. If not provided, the volatility of the binding is determined by Observable.isVolatileBinding().
1113
1117
  */
1114
- constructor(binding) {
1118
+ constructor(binding, isVolatile) {
1115
1119
  super();
1116
1120
  this.binding = binding;
1117
1121
  this.bind = normalBind;
1118
1122
  this.unbind = normalUnbind;
1119
1123
  this.updateTarget = updateAttributeTarget;
1120
- this.isBindingVolatile = Observable.isVolatileBinding(this.binding);
1124
+ this.isBindingVolatile = isVolatile ?? Observable.isVolatileBinding(this.binding);
1121
1125
  }
1122
1126
  /**
1123
1127
  * Gets/sets the name of the attribute or property that this
@@ -1252,12 +1256,14 @@
1252
1256
  return parts[0];
1253
1257
  }
1254
1258
  let targetName;
1259
+ let isVolatile = false;
1255
1260
  const partCount = parts.length;
1256
1261
  const finalParts = parts.map((x) => {
1257
1262
  if (typeof x === "string") {
1258
1263
  return () => x;
1259
1264
  }
1260
1265
  targetName = x.targetName || targetName;
1266
+ isVolatile = isVolatile || Observable.isVolatileBinding(x.binding);
1261
1267
  return x.binding;
1262
1268
  });
1263
1269
  const binding = (scope, context) => {
@@ -1267,7 +1273,7 @@
1267
1273
  }
1268
1274
  return output;
1269
1275
  };
1270
- const directive = new HTMLBindingDirective(binding);
1276
+ const directive = new HTMLBindingDirective(binding, isVolatile);
1271
1277
  directive.targetName = targetName;
1272
1278
  return directive;
1273
1279
  }
@@ -1739,20 +1745,20 @@
1739
1745
  this.behaviors === null ? behaviors : this.behaviors.concat(behaviors);
1740
1746
  return this;
1741
1747
  }
1742
- }
1743
- /**
1744
- * Create ElementStyles from ComposableStyles.
1745
- */
1746
- ElementStyles.create = (() => {
1747
- if (DOM.supportsAdoptedStyleSheets) {
1748
- const styleSheetCache = new Map();
1749
- return (styles) =>
1748
+ /**
1749
+ * Create ElementStyles from ComposableStyles.
1750
+ */
1751
+ static { this.create = (() => {
1752
+ if (DOM.supportsAdoptedStyleSheets) {
1753
+ const styleSheetCache = new Map();
1754
+ return (styles) =>
1755
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
1756
+ new AdoptedStyleSheetsStyles(styles, styleSheetCache);
1757
+ }
1750
1758
  // eslint-disable-next-line @typescript-eslint/no-use-before-define
1751
- new AdoptedStyleSheetsStyles(styles, styleSheetCache);
1752
- }
1753
- // eslint-disable-next-line @typescript-eslint/no-use-before-define
1754
- return (styles) => new StyleElementStyles(styles);
1755
- })();
1759
+ return (styles) => new StyleElementStyles(styles);
1760
+ })(); }
1761
+ }
1756
1762
  function reduceStyles(styles) {
1757
1763
  return styles
1758
1764
  .map((x) => x instanceof ElementStyles ? reduceStyles(x.styles) : [x])
@@ -1812,7 +1818,7 @@
1812
1818
  }
1813
1819
  };
1814
1820
  }
1815
- catch (_a) {
1821
+ catch {
1816
1822
  // Do nothing if an error is thrown, the default
1817
1823
  // case handles FrozenArray.
1818
1824
  }
@@ -2159,11 +2165,11 @@
2159
2165
  ? defaultShadowOptions
2160
2166
  : nameOrConfig.shadowOptions === null
2161
2167
  ? void 0
2162
- : Object.assign(Object.assign({}, defaultShadowOptions), nameOrConfig.shadowOptions);
2168
+ : { ...defaultShadowOptions, ...nameOrConfig.shadowOptions };
2163
2169
  this.elementOptions =
2164
2170
  nameOrConfig.elementOptions === void 0
2165
2171
  ? defaultElementOptions
2166
- : Object.assign(Object.assign({}, defaultElementOptions), nameOrConfig.elementOptions);
2172
+ : { ...defaultElementOptions, ...nameOrConfig.elementOptions };
2167
2173
  this.styles =
2168
2174
  nameOrConfig.styles === void 0
2169
2175
  ? void 0
@@ -2195,12 +2201,12 @@
2195
2201
  }
2196
2202
  return this;
2197
2203
  }
2204
+ /**
2205
+ * Gets the element definition associated with the specified type.
2206
+ * @param type - The custom element type to retrieve the definition for.
2207
+ */
2208
+ static { this.forType = fastRegistry.getByType; }
2198
2209
  }
2199
- /**
2200
- * Gets the element definition associated with the specified type.
2201
- * @param type - The custom element type to retrieve the definition for.
2202
- */
2203
- FASTElementDefinition.forType = fastRegistry.getByType;
2204
2210
 
2205
2211
  const shadowRoots = new WeakMap();
2206
2212
  const defaultEventOptions = {
@@ -2479,7 +2485,7 @@
2479
2485
  */
2480
2486
  emit(type, detail, options) {
2481
2487
  if (this._isConnected) {
2482
- return this.element.dispatchEvent(new CustomEvent(type, Object.assign(Object.assign({ detail }, defaultEventOptions), options)));
2488
+ return this.element.dispatchEvent(new CustomEvent(type, { detail, ...defaultEventOptions, ...options }));
2483
2489
  }
2484
2490
  return false;
2485
2491
  }
@@ -3566,7 +3572,10 @@
3566
3572
  const templateBinding = typeof templateOrTemplateBinding === "function"
3567
3573
  ? templateOrTemplateBinding
3568
3574
  : () => templateOrTemplateBinding;
3569
- return new RepeatDirective(itemsBinding, templateBinding, Object.assign(Object.assign({}, defaultRepeatOptions), options));
3575
+ return new RepeatDirective(itemsBinding, templateBinding, {
3576
+ ...defaultRepeatOptions,
3577
+ ...options,
3578
+ });
3570
3579
  }
3571
3580
 
3572
3581
  /**
@@ -4239,7 +4248,7 @@
4239
4248
  Interface.friendlyName = friendlyName == null ? "(anonymous)" : friendlyName;
4240
4249
  if (configure != null) {
4241
4250
  Interface.register = function (container, key) {
4242
- return configure(new ResolverBuilder(container, key !== null && key !== void 0 ? key : Interface));
4251
+ return configure(new ResolverBuilder(container, key ?? Interface));
4243
4252
  };
4244
4253
  }
4245
4254
  Interface.toString = function toString() {
@@ -4417,13 +4426,12 @@
4417
4426
  }
4418
4427
  }
4419
4428
  getFactory(container) {
4420
- var _a, _b, _c;
4421
4429
  switch (this.strategy) {
4422
4430
  case 1 /* ResolverStrategy.singleton */:
4423
4431
  case 2 /* ResolverStrategy.transient */:
4424
4432
  return container.getFactory(this.state);
4425
4433
  case 5 /* ResolverStrategy.alias */:
4426
- return (_c = (_b = (_a = container.getResolver(this.state)) === null || _a === void 0 ? void 0 : _a.getFactory) === null || _b === void 0 ? void 0 : _b.call(_a, container)) !== null && _c !== void 0 ? _c : null;
4434
+ return container.getResolver(this.state)?.getFactory?.(container) ?? null;
4427
4435
  default:
4428
4436
  return null;
4429
4437
  }
@@ -5164,7 +5172,10 @@
5164
5172
  this.type = type;
5165
5173
  this.elementDefinition = elementDefinition;
5166
5174
  this.overrideDefinition = overrideDefinition;
5167
- this.definition = Object.assign(Object.assign({}, this.elementDefinition), this.overrideDefinition);
5175
+ this.definition = {
5176
+ ...this.elementDefinition,
5177
+ ...this.overrideDefinition,
5178
+ };
5168
5179
  }
5169
5180
  register(container, context) {
5170
5181
  const definition = this.definition;
@@ -5616,14 +5627,12 @@
5616
5627
  * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
5617
5628
  */
5618
5629
  this.handleUnsupportedDelegatesFocus = () => {
5619
- var _a;
5620
5630
  // Check to see if delegatesFocus is supported
5621
5631
  if (window.ShadowRoot &&
5622
5632
  !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") &&
5623
- ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
5633
+ this.$fastController.definition.shadowOptions?.delegatesFocus) {
5624
5634
  this.focus = () => {
5625
- var _a;
5626
- (_a = this.control) === null || _a === void 0 ? void 0 : _a.focus();
5635
+ this.control?.focus();
5627
5636
  };
5628
5637
  }
5629
5638
  };
@@ -5713,12 +5722,11 @@
5713
5722
  * @internal
5714
5723
  */
5715
5724
  this.requestPosition = (target, callback) => {
5716
- var _a;
5717
5725
  if (this.intersectionDetector === null) {
5718
5726
  return;
5719
5727
  }
5720
5728
  if (this.observedElements.has(target)) {
5721
- (_a = this.observedElements.get(target)) === null || _a === void 0 ? void 0 : _a.push(callback);
5729
+ this.observedElements.get(target)?.push(callback);
5722
5730
  return;
5723
5731
  }
5724
5732
  this.observedElements.set(target, [callback]);
@@ -5763,9 +5771,8 @@
5763
5771
  const pendingCallbackParams = [];
5764
5772
  // go through the entries to build a list of callbacks and params for each
5765
5773
  entries.forEach((entry) => {
5766
- var _a;
5767
5774
  // stop watching this element until we get new update requests for it
5768
- (_a = this.intersectionDetector) === null || _a === void 0 ? void 0 : _a.unobserve(entry.target);
5775
+ this.intersectionDetector?.unobserve(entry.target);
5769
5776
  const thisElementCallbacks = this.observedElements.get(entry.target);
5770
5777
  if (thisElementCallbacks !== undefined) {
5771
5778
  thisElementCallbacks.forEach((callback) => {
@@ -6592,6 +6599,7 @@
6592
6599
  this.initialize();
6593
6600
  }
6594
6601
  }
6602
+ static { this.intersectionService = new IntersectionService(); }
6595
6603
  /**
6596
6604
  * @internal
6597
6605
  */
@@ -6689,7 +6697,6 @@
6689
6697
  this.updateRegionStyle();
6690
6698
  }
6691
6699
  };
6692
- AnchoredRegion$1.intersectionService = new IntersectionService();
6693
6700
  __decorate([
6694
6701
  attr
6695
6702
  ], AnchoredRegion$1.prototype, "anchor", void 0);
@@ -6821,12 +6828,11 @@
6821
6828
  * We look in the shadow DOM because we insert an anchor when breadcrumb-item has an href.
6822
6829
  */
6823
6830
  findChildWithHref(node) {
6824
- var _a, _b;
6825
6831
  if (node.childElementCount > 0) {
6826
6832
  return node.querySelector("a[href]");
6827
6833
  }
6828
- else if ((_a = node.shadowRoot) === null || _a === void 0 ? void 0 : _a.childElementCount) {
6829
- return (_b = node.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("a[href]");
6834
+ else if (node.shadowRoot?.childElementCount) {
6835
+ return node.shadowRoot?.querySelector("a[href]");
6830
6836
  }
6831
6837
  else
6832
6838
  return null;
@@ -7213,7 +7219,6 @@
7213
7219
  * Attach the proxy element to the DOM
7214
7220
  */
7215
7221
  attachProxy() {
7216
- var _a;
7217
7222
  if (!this.proxyInitialized) {
7218
7223
  this.proxyInitialized = true;
7219
7224
  this.proxy.style.display = "none";
@@ -7234,16 +7239,15 @@
7234
7239
  this.proxySlot = document.createElement("slot");
7235
7240
  this.proxySlot.setAttribute("name", proxySlotName);
7236
7241
  }
7237
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);
7242
+ this.shadowRoot?.appendChild(this.proxySlot);
7238
7243
  this.appendChild(this.proxy);
7239
7244
  }
7240
7245
  /**
7241
7246
  * Detach the proxy element from the DOM
7242
7247
  */
7243
7248
  detachProxy() {
7244
- var _a;
7245
7249
  this.removeChild(this.proxy);
7246
- (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);
7250
+ this.shadowRoot?.removeChild(this.proxySlot);
7247
7251
  }
7248
7252
  /** {@inheritDoc (FormAssociated:interface).validate} */
7249
7253
  validate(anchor) {
@@ -7267,7 +7271,7 @@
7267
7271
  if (this.form instanceof HTMLFormElement) {
7268
7272
  // Implicit submission
7269
7273
  const defaultButton = this.form.querySelector("[type=submit]");
7270
- defaultButton === null || defaultButton === void 0 ? void 0 : defaultButton.click();
7274
+ defaultButton?.click();
7271
7275
  }
7272
7276
  break;
7273
7277
  }
@@ -7409,8 +7413,7 @@
7409
7413
  * @internal
7410
7414
  */
7411
7415
  this.handleClick = (e) => {
7412
- var _a;
7413
- if (this.disabled && ((_a = this.defaultSlottedContent) === null || _a === void 0 ? void 0 : _a.length) <= 1) {
7416
+ if (this.disabled && this.defaultSlottedContent?.length <= 1) {
7414
7417
  e.stopPropagation();
7415
7418
  }
7416
7419
  };
@@ -7441,8 +7444,7 @@
7441
7444
  * Resets the parent form
7442
7445
  */
7443
7446
  this.handleFormReset = () => {
7444
- var _a;
7445
- (_a = this.form) === null || _a === void 0 ? void 0 : _a.reset();
7447
+ this.form?.reset();
7446
7448
  };
7447
7449
  /**
7448
7450
  * Overrides the focus call for where delegatesFocus is unsupported.
@@ -7450,11 +7452,10 @@
7450
7452
  * Relevant PR on the Firefox browser: https://phabricator.services.mozilla.com/D123858
7451
7453
  */
7452
7454
  this.handleUnsupportedDelegatesFocus = () => {
7453
- var _a;
7454
7455
  // Check to see if delegatesFocus is supported
7455
7456
  if (window.ShadowRoot &&
7456
7457
  !window.ShadowRoot.prototype.hasOwnProperty("delegatesFocus") &&
7457
- ((_a = this.$fastController.definition.shadowOptions) === null || _a === void 0 ? void 0 : _a.delegatesFocus)) {
7458
+ this.$fastController.definition.shadowOptions?.delegatesFocus) {
7458
7459
  this.focus = () => {
7459
7460
  this.control.focus();
7460
7461
  };
@@ -7507,11 +7508,10 @@
7507
7508
  * @internal
7508
7509
  */
7509
7510
  connectedCallback() {
7510
- var _a;
7511
7511
  super.connectedCallback();
7512
7512
  this.proxy.setAttribute("type", this.type);
7513
7513
  this.handleUnsupportedDelegatesFocus();
7514
- const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
7514
+ const elements = Array.from(this.control?.children);
7515
7515
  if (elements) {
7516
7516
  elements.forEach((span) => {
7517
7517
  span.addEventListener("click", this.handleClick);
@@ -7522,9 +7522,8 @@
7522
7522
  * @internal
7523
7523
  */
7524
7524
  disconnectedCallback() {
7525
- var _a;
7526
7525
  super.disconnectedCallback();
7527
- const elements = Array.from((_a = this.control) === null || _a === void 0 ? void 0 : _a.children);
7526
+ const elements = Array.from(this.control?.children);
7528
7527
  if (elements) {
7529
7528
  elements.forEach((span) => {
7530
7529
  span.removeEventListener("click", this.handleClick);
@@ -7760,15 +7759,13 @@
7760
7759
  }
7761
7760
  }
7762
7761
  get label() {
7763
- var _a;
7764
- return (_a = this.value) !== null && _a !== void 0 ? _a : this.text;
7762
+ return this.value ?? this.text;
7765
7763
  }
7766
7764
  get text() {
7767
- var _a, _b;
7768
- return (_b = (_a = this.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, " ").trim()) !== null && _b !== void 0 ? _b : "";
7765
+ return this.textContent?.replace(/\s+/g, " ").trim() ?? "";
7769
7766
  }
7770
7767
  set value(next) {
7771
- const newValue = `${next !== null && next !== void 0 ? next : ""}`;
7768
+ const newValue = `${next ?? ""}`;
7772
7769
  this._value = newValue;
7773
7770
  this.dirtyValue = true;
7774
7771
  if (this.proxy instanceof HTMLOptionElement) {
@@ -7777,9 +7774,8 @@
7777
7774
  Observable.notify(this, "value");
7778
7775
  }
7779
7776
  get value() {
7780
- var _a;
7781
7777
  Observable.track(this, "value");
7782
- return (_a = this._value) !== null && _a !== void 0 ? _a : this.text;
7778
+ return this._value ?? this.text;
7783
7779
  }
7784
7780
  get form() {
7785
7781
  return this.proxy ? this.proxy.form : null;
@@ -7926,8 +7922,7 @@
7926
7922
  * @internal
7927
7923
  */
7928
7924
  get firstSelectedOption() {
7929
- var _a;
7930
- return (_a = this.selectedOptions[0]) !== null && _a !== void 0 ? _a : null;
7925
+ return this.selectedOptions[0] ?? null;
7931
7926
  }
7932
7927
  /**
7933
7928
  * Returns true if there is one or more selectable option.
@@ -7943,8 +7938,7 @@
7943
7938
  * @public
7944
7939
  */
7945
7940
  get length() {
7946
- var _a, _b;
7947
- return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
7941
+ return this.options?.length ?? 0;
7948
7942
  }
7949
7943
  /**
7950
7944
  * The list of options.
@@ -7971,6 +7965,19 @@
7971
7965
  set typeAheadExpired(value) {
7972
7966
  this.typeaheadExpired = value;
7973
7967
  }
7968
+ /**
7969
+ * A static filter to include only selectable options.
7970
+ *
7971
+ * @param n - element to filter
7972
+ * @public
7973
+ */
7974
+ static { this.slottedOptionFilter = (n) => isListboxOption(n) && !n.hidden; }
7975
+ /**
7976
+ * Typeahead timeout in milliseconds.
7977
+ *
7978
+ * @internal
7979
+ */
7980
+ static { this.TYPE_AHEAD_TIMEOUT_MS = 1000; }
7974
7981
  /**
7975
7982
  * Handle click events for listbox options.
7976
7983
  *
@@ -8191,12 +8198,11 @@
8191
8198
  * @internal
8192
8199
  */
8193
8200
  selectedIndexChanged(prev, next) {
8194
- var _a;
8195
8201
  if (!this.hasSelectableOptions) {
8196
8202
  this.selectedIndex = -1;
8197
8203
  return;
8198
8204
  }
8199
- if (((_a = this.options[this.selectedIndex]) === null || _a === void 0 ? void 0 : _a.disabled) && typeof prev === "number") {
8205
+ if (this.options[this.selectedIndex]?.disabled && typeof prev === "number") {
8200
8206
  const selectableIndex = this.getSelectableIndex(prev, next);
8201
8207
  const newNext = selectableIndex > -1 ? selectableIndex : prev;
8202
8208
  this.selectedIndex = newNext;
@@ -8216,9 +8222,8 @@
8216
8222
  * @internal
8217
8223
  */
8218
8224
  selectedOptionsChanged(prev, next) {
8219
- var _a;
8220
8225
  const filteredNext = next.filter(Listbox.slottedOptionFilter);
8221
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(o => {
8226
+ this.options?.forEach(o => {
8222
8227
  const notifier = Observable.getNotifier(o);
8223
8228
  notifier.unsubscribe(this, "selected");
8224
8229
  o.selected = filteredNext.includes(o);
@@ -8231,9 +8236,8 @@
8231
8236
  * @public
8232
8237
  */
8233
8238
  selectFirstOption() {
8234
- var _a, _b;
8235
8239
  if (!this.disabled) {
8236
- this.selectedIndex = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.findIndex(o => !o.disabled)) !== null && _b !== void 0 ? _b : -1;
8240
+ this.selectedIndex = this.options?.findIndex(o => !o.disabled) ?? -1;
8237
8241
  }
8238
8242
  }
8239
8243
  /**
@@ -8272,8 +8276,7 @@
8272
8276
  * @internal
8273
8277
  */
8274
8278
  setDefaultSelectedOption() {
8275
- var _a, _b;
8276
- this.selectedIndex = (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.findIndex(el => el.defaultSelected)) !== null && _b !== void 0 ? _b : -1;
8279
+ this.selectedIndex = this.options?.findIndex(el => el.defaultSelected) ?? -1;
8277
8280
  }
8278
8281
  /**
8279
8282
  * Sets an option as selected and gives it focus.
@@ -8281,10 +8284,9 @@
8281
8284
  * @public
8282
8285
  */
8283
8286
  setSelectedOptions() {
8284
- var _a, _b, _c;
8285
- if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) {
8287
+ if (this.options?.length) {
8286
8288
  this.selectedOptions = [this.options[this.selectedIndex]];
8287
- this.ariaActiveDescendant = (_c = (_b = this.firstSelectedOption) === null || _b === void 0 ? void 0 : _b.id) !== null && _c !== void 0 ? _c : "";
8289
+ this.ariaActiveDescendant = this.firstSelectedOption?.id ?? "";
8288
8290
  this.focusAndScrollOptionIntoView();
8289
8291
  }
8290
8292
  }
@@ -8337,19 +8339,6 @@
8337
8339
  }
8338
8340
  }
8339
8341
  }
8340
- /**
8341
- * A static filter to include only selectable options.
8342
- *
8343
- * @param n - element to filter
8344
- * @public
8345
- */
8346
- Listbox.slottedOptionFilter = (n) => isListboxOption(n) && !n.hidden;
8347
- /**
8348
- * Typeahead timeout in milliseconds.
8349
- *
8350
- * @internal
8351
- */
8352
- Listbox.TYPE_AHEAD_TIMEOUT_MS = 1000;
8353
8342
  __decorate([
8354
8343
  attr({ mode: "boolean" })
8355
8344
  ], Listbox.prototype, "disabled", void 0);
@@ -8568,17 +8557,16 @@
8568
8557
  return this._value;
8569
8558
  }
8570
8559
  set value(next) {
8571
- var _a, _b, _c;
8572
8560
  const prev = `${this._value}`;
8573
8561
  if (this.$fastController.isConnected && this.options) {
8574
8562
  const selectedIndex = this.options.findIndex(el => el.text.toLowerCase() === next.toLowerCase());
8575
- const prevSelectedValue = (_a = this.options[this.selectedIndex]) === null || _a === void 0 ? void 0 : _a.text;
8576
- const nextSelectedValue = (_b = this.options[selectedIndex]) === null || _b === void 0 ? void 0 : _b.text;
8563
+ const prevSelectedValue = this.options[this.selectedIndex]?.text;
8564
+ const nextSelectedValue = this.options[selectedIndex]?.text;
8577
8565
  this.selectedIndex =
8578
8566
  prevSelectedValue !== nextSelectedValue
8579
8567
  ? selectedIndex
8580
8568
  : this.selectedIndex;
8581
- next = ((_c = this.firstSelectedOption) === null || _c === void 0 ? void 0 : _c.text) || next;
8569
+ next = this.firstSelectedOption?.text || next;
8582
8570
  }
8583
8571
  if (prev !== next) {
8584
8572
  this._value = next;
@@ -8594,7 +8582,7 @@
8594
8582
  */
8595
8583
  clickHandler(e) {
8596
8584
  const captured = e.target.closest(`option,[role=option]`);
8597
- if (this.disabled || (captured === null || captured === void 0 ? void 0 : captured.disabled)) {
8585
+ if (this.disabled || captured?.disabled) {
8598
8586
  return;
8599
8587
  }
8600
8588
  if (this.open) {
@@ -8667,8 +8655,7 @@
8667
8655
  this.control.focus();
8668
8656
  if (this.firstSelectedOption) {
8669
8657
  requestAnimationFrame(() => {
8670
- var _a;
8671
- (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ block: "nearest" });
8658
+ this.firstSelectedOption?.scrollIntoView({ block: "nearest" });
8672
8659
  });
8673
8660
  }
8674
8661
  }
@@ -8887,8 +8874,7 @@
8887
8874
  * @internal
8888
8875
  */
8889
8876
  syncValue() {
8890
- var _a;
8891
- const newValue = this.selectedIndex > -1 ? (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.text : this.control.value;
8877
+ const newValue = this.selectedIndex > -1 ? this.firstSelectedOption?.text : this.control.value;
8892
8878
  this.updateValue(this.value !== newValue);
8893
8879
  }
8894
8880
  /**
@@ -8949,9 +8935,8 @@
8949
8935
  * @internal
8950
8936
  */
8951
8937
  updateValue(shouldEmit) {
8952
- var _a;
8953
8938
  if (this.$fastController.isConnected) {
8954
- this.value = ((_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.text) || this.control.value;
8939
+ this.value = this.firstSelectedOption?.text || this.control.value;
8955
8940
  this.control.value = this.value;
8956
8941
  }
8957
8942
  if (shouldEmit) {
@@ -9180,6 +9165,8 @@
9180
9165
  * @internal
9181
9166
  */
9182
9167
  class RootStyleSheetTarget {
9168
+ static { this.roots = new Set(); }
9169
+ static { this.properties = {}; }
9183
9170
  setProperty(name, value) {
9184
9171
  RootStyleSheetTarget.properties[name] = value;
9185
9172
  for (const target of RootStyleSheetTarget.roots.values()) {
@@ -9221,8 +9208,6 @@
9221
9208
  return root === defaultElement ? document : root;
9222
9209
  }
9223
9210
  }
9224
- RootStyleSheetTarget.roots = new Set();
9225
- RootStyleSheetTarget.properties = {};
9226
9211
  // Caches PropertyTarget instances
9227
9212
  const propertyTargetCache = new WeakMap();
9228
9213
  // Use Constructable StyleSheets for FAST elements when supported, otherwise use
@@ -9284,6 +9269,13 @@
9284
9269
  static isDerivedDesignTokenValue(value) {
9285
9270
  return typeof value === "function";
9286
9271
  }
9272
+ static { this.uniqueId = (() => {
9273
+ let id = 0;
9274
+ return () => {
9275
+ id++;
9276
+ return id.toString(16);
9277
+ };
9278
+ })(); }
9287
9279
  /**
9288
9280
  * Gets a token by ID. Returns undefined if the token was not found.
9289
9281
  * @param id - The ID of the token
@@ -9292,6 +9284,10 @@
9292
9284
  static getTokenById(id) {
9293
9285
  return DesignTokenImpl.tokensById.get(id);
9294
9286
  }
9287
+ /**
9288
+ * Token storage by token ID
9289
+ */
9290
+ static { this.tokensById = new Map(); }
9295
9291
  getOrCreateSubscriberSet(target = this) {
9296
9292
  return (this.subscribers.get(target) ||
9297
9293
  (this.subscribers.set(target, new Set()) && this.subscribers.get(target)));
@@ -9373,17 +9369,6 @@
9373
9369
  return ((target) => token.getValueFor(target));
9374
9370
  }
9375
9371
  }
9376
- DesignTokenImpl.uniqueId = (() => {
9377
- let id = 0;
9378
- return () => {
9379
- id++;
9380
- return id.toString(16);
9381
- };
9382
- })();
9383
- /**
9384
- * Token storage by token ID
9385
- */
9386
- DesignTokenImpl.tokensById = new Map();
9387
9372
  class CustomPropertyReflector {
9388
9373
  startReflection(token, target) {
9389
9374
  token.subscribe(this, target);
@@ -9530,6 +9515,10 @@
9530
9515
  } while (current !== null);
9531
9516
  return null;
9532
9517
  }
9518
+ /**
9519
+ * Responsible for reflecting tokens to CSS custom properties
9520
+ */
9521
+ static { this.cssCustomPropertyReflector = new CustomPropertyReflector(); }
9533
9522
  /**
9534
9523
  * The parent DesignTokenNode, or null.
9535
9524
  */
@@ -9630,11 +9619,10 @@
9630
9619
  * @returns
9631
9620
  */
9632
9621
  getRaw(token) {
9633
- var _a;
9634
9622
  if (this.assignedValues.has(token)) {
9635
9623
  return this.assignedValues.get(token);
9636
9624
  }
9637
- return (_a = DesignTokenNode.findClosestAssignedNode(token, this)) === null || _a === void 0 ? void 0 : _a.getRaw(token);
9625
+ return DesignTokenNode.findClosestAssignedNode(token, this)?.getRaw(token);
9638
9626
  }
9639
9627
  /**
9640
9628
  * Sets a token to a value for a node
@@ -9835,10 +9823,6 @@
9835
9823
  return false;
9836
9824
  }
9837
9825
  }
9838
- /**
9839
- * Responsible for reflecting tokens to CSS custom properties
9840
- */
9841
- DesignTokenNode.cssCustomPropertyReflector = new CustomPropertyReflector();
9842
9826
  __decorate([
9843
9827
  observable
9844
9828
  ], DesignTokenNode.prototype, "children", void 0);
@@ -10108,7 +10092,10 @@
10108
10092
  ComponentPresentation.define(this.name, presentation, this.container);
10109
10093
  }
10110
10094
  defineElement(definition) {
10111
- this.definition = new FASTElementDefinition(this.type, Object.assign(Object.assign({}, definition), { name: this.name }));
10095
+ this.definition = new FASTElementDefinition(this.type, {
10096
+ ...definition,
10097
+ name: this.name,
10098
+ });
10112
10099
  }
10113
10100
  tagFor(type) {
10114
10101
  return DesignSystem.tagFor(type);
@@ -10404,8 +10391,7 @@
10404
10391
  * @internal
10405
10392
  */
10406
10393
  get checkedOptions() {
10407
- var _a;
10408
- return (_a = this.options) === null || _a === void 0 ? void 0 : _a.filter(o => o.checked);
10394
+ return this.options?.filter(o => o.checked);
10409
10395
  }
10410
10396
  /**
10411
10397
  * Returns the index of the first selected option.
@@ -10424,8 +10410,7 @@
10424
10410
  * @internal
10425
10411
  */
10426
10412
  activeIndexChanged(prev, next) {
10427
- var _a, _b;
10428
- this.ariaActiveDescendant = (_b = (_a = this.options[next]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : "";
10413
+ this.ariaActiveDescendant = this.options[next]?.id ?? "";
10429
10414
  this.focusAndScrollOptionIntoView();
10430
10415
  }
10431
10416
  /**
@@ -10573,11 +10558,10 @@
10573
10558
  * @internal
10574
10559
  */
10575
10560
  clickHandler(e) {
10576
- var _a;
10577
10561
  if (!this.multiple) {
10578
10562
  return super.clickHandler(e);
10579
10563
  }
10580
- const captured = (_a = e.target) === null || _a === void 0 ? void 0 : _a.closest(`[role=option]`);
10564
+ const captured = e.target?.closest(`[role=option]`);
10581
10565
  if (!captured || captured.disabled) {
10582
10566
  return;
10583
10567
  }
@@ -10710,9 +10694,8 @@
10710
10694
  * @internal
10711
10695
  */
10712
10696
  multipleChanged(prev, next) {
10713
- var _a;
10714
10697
  this.ariaMultiSelectable = next ? "true" : null;
10715
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach(o => {
10698
+ this.options?.forEach(o => {
10716
10699
  o.checked = next ? false : undefined;
10717
10700
  });
10718
10701
  this.setSelectedOptions();
@@ -10742,8 +10725,7 @@
10742
10725
  * @internal
10743
10726
  */
10744
10727
  sizeChanged(prev, next) {
10745
- var _a;
10746
- const size = Math.max(0, parseInt((_a = next === null || next === void 0 ? void 0 : next.toFixed()) !== null && _a !== void 0 ? _a : "", 10));
10728
+ const size = Math.max(0, parseInt(next?.toFixed() ?? "", 10));
10747
10729
  if (size !== next) {
10748
10730
  DOM.queueUpdate(() => {
10749
10731
  this.size = size;
@@ -11423,8 +11405,7 @@
11423
11405
  * @internal
11424
11406
  */
11425
11407
  maxChanged(previous, next) {
11426
- var _a;
11427
- this.max = Math.max(next, (_a = this.min) !== null && _a !== void 0 ? _a : next);
11408
+ this.max = Math.max(next, this.min ?? next);
11428
11409
  const min = Math.min(this.min, this.max);
11429
11410
  if (this.min !== undefined && this.min !== min) {
11430
11411
  this.min = min;
@@ -11440,8 +11421,7 @@
11440
11421
  * @internal
11441
11422
  */
11442
11423
  minChanged(previous, next) {
11443
- var _a;
11444
- this.min = Math.min(next, (_a = this.max) !== null && _a !== void 0 ? _a : next);
11424
+ this.min = Math.min(next, this.max ?? next);
11445
11425
  const max = Math.max(this.min, this.max);
11446
11426
  if (this.max !== undefined && this.max !== max) {
11447
11427
  this.max = max;
@@ -11737,12 +11717,10 @@
11737
11717
  radio.focus();
11738
11718
  };
11739
11719
  this.moveRightOffGroup = () => {
11740
- var _a;
11741
- (_a = this.nextElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
11720
+ this.nextElementSibling?.focus();
11742
11721
  };
11743
11722
  this.moveLeftOffGroup = () => {
11744
- var _a;
11745
- (_a = this.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
11723
+ this.previousElementSibling?.focus();
11746
11724
  };
11747
11725
  /**
11748
11726
  * @internal
@@ -11968,12 +11946,10 @@
11968
11946
  return this.closest('[role="toolbar"]');
11969
11947
  }
11970
11948
  get isInsideToolbar() {
11971
- var _a;
11972
- return ((_a = this.parentToolbar) !== null && _a !== void 0 ? _a : false);
11949
+ return (this.parentToolbar ?? false);
11973
11950
  }
11974
11951
  get isInsideFoundationToolbar() {
11975
- var _a;
11976
- return !!((_a = this.parentToolbar) === null || _a === void 0 ? void 0 : _a["$fastController"]);
11952
+ return !!this.parentToolbar?.["$fastController"];
11977
11953
  }
11978
11954
  /**
11979
11955
  * @internal
@@ -12130,13 +12106,12 @@
12130
12106
  * @internal
12131
12107
  */
12132
12108
  defaultCheckedChanged() {
12133
- var _a;
12134
12109
  if (this.$fastController.isConnected && !this.dirtyChecked) {
12135
12110
  // Setting this.checked will cause us to enter a dirty state,
12136
12111
  // but if we are clean when defaultChecked is changed, we want to stay
12137
12112
  // in a clean state, so reset this.dirtyChecked
12138
12113
  if (!this.isInsideRadioGroup()) {
12139
- this.checked = (_a = this.defaultChecked) !== null && _a !== void 0 ? _a : false;
12114
+ this.checked = this.defaultChecked ?? false;
12140
12115
  this.dirtyChecked = false;
12141
12116
  }
12142
12117
  }
@@ -12169,10 +12144,9 @@
12169
12144
  * @internal
12170
12145
  */
12171
12146
  connectedCallback() {
12172
- var _a, _b;
12173
12147
  super.connectedCallback();
12174
12148
  this.validate();
12175
- if (((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.getAttribute("role")) !== "radiogroup" &&
12149
+ if (this.parentElement?.getAttribute("role") !== "radiogroup" &&
12176
12150
  this.getAttribute("tabindex") === null) {
12177
12151
  if (!this.disabled) {
12178
12152
  this.setAttribute("tabindex", "0");
@@ -12184,7 +12158,7 @@
12184
12158
  // but if we are clean when defaultChecked is changed, we want to stay
12185
12159
  // in a clean state, so reset this.dirtyChecked
12186
12160
  if (!this.isInsideRadioGroup()) {
12187
- this.checked = (_b = this.defaultChecked) !== null && _b !== void 0 ? _b : false;
12161
+ this.checked = this.defaultChecked ?? false;
12188
12162
  this.dirtyChecked = false;
12189
12163
  }
12190
12164
  }
@@ -12333,17 +12307,16 @@
12333
12307
  return this._value;
12334
12308
  }
12335
12309
  set value(next) {
12336
- var _a, _b, _c, _d, _e, _f, _g;
12337
12310
  const prev = `${this._value}`;
12338
- if ((_a = this._options) === null || _a === void 0 ? void 0 : _a.length) {
12311
+ if (this._options?.length) {
12339
12312
  const selectedIndex = this._options.findIndex(el => el.value === next);
12340
- const prevSelectedValue = (_c = (_b = this._options[this.selectedIndex]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : null;
12341
- const nextSelectedValue = (_e = (_d = this._options[selectedIndex]) === null || _d === void 0 ? void 0 : _d.value) !== null && _e !== void 0 ? _e : null;
12313
+ const prevSelectedValue = this._options[this.selectedIndex]?.value ?? null;
12314
+ const nextSelectedValue = this._options[selectedIndex]?.value ?? null;
12342
12315
  if (selectedIndex === -1 || prevSelectedValue !== nextSelectedValue) {
12343
12316
  next = "";
12344
12317
  this.selectedIndex = selectedIndex;
12345
12318
  }
12346
- next = (_g = (_f = this.firstSelectedOption) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : next;
12319
+ next = this.firstSelectedOption?.value ?? next;
12347
12320
  }
12348
12321
  if (prev !== next) {
12349
12322
  this._value = next;
@@ -12360,9 +12333,8 @@
12360
12333
  * @internal
12361
12334
  */
12362
12335
  updateValue(shouldEmit) {
12363
- var _a, _b;
12364
12336
  if (this.$fastController.isConnected) {
12365
- this.value = (_b = (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : "";
12337
+ this.value = this.firstSelectedOption?.value ?? "";
12366
12338
  }
12367
12339
  if (shouldEmit) {
12368
12340
  this.$emit("input");
@@ -12414,9 +12386,8 @@
12414
12386
  * @public
12415
12387
  */
12416
12388
  get displayValue() {
12417
- var _a, _b;
12418
12389
  Observable.track(this, "displayValue");
12419
- return (_b = (_a = this.firstSelectedOption) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : "";
12390
+ return this.firstSelectedOption?.text ?? "";
12420
12391
  }
12421
12392
  /**
12422
12393
  * Synchronize the `aria-disabled` property when the `disabled` property changes.
@@ -12477,7 +12448,6 @@
12477
12448
  * @internal
12478
12449
  */
12479
12450
  focusoutHandler(e) {
12480
- var _a;
12481
12451
  super.focusoutHandler(e);
12482
12452
  if (!this.open) {
12483
12453
  return true;
@@ -12487,7 +12457,7 @@
12487
12457
  this.focus();
12488
12458
  return;
12489
12459
  }
12490
- if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.includes(focusTarget))) {
12460
+ if (!this.options?.includes(focusTarget)) {
12491
12461
  this.open = false;
12492
12462
  if (this.indexWhenOpened !== this.selectedIndex) {
12493
12463
  this.updateValue(true);
@@ -12539,8 +12509,7 @@
12539
12509
  * @internal
12540
12510
  */
12541
12511
  mousedownHandler(e) {
12542
- var _a;
12543
- if (e.offsetX >= 0 && e.offsetX <= ((_a = this.listbox) === null || _a === void 0 ? void 0 : _a.scrollWidth)) {
12512
+ if (e.offsetX >= 0 && e.offsetX <= this.listbox?.scrollWidth) {
12544
12513
  return super.mousedownHandler(e);
12545
12514
  }
12546
12515
  return this.collapsible;
@@ -12567,11 +12536,9 @@
12567
12536
  * @internal
12568
12537
  */
12569
12538
  selectedOptionsChanged(prev, next) {
12570
- var _a;
12571
12539
  super.selectedOptionsChanged(prev, next);
12572
- (_a = this.options) === null || _a === void 0 ? void 0 : _a.forEach((o, i) => {
12573
- var _a;
12574
- const proxyOption = (_a = this.proxy) === null || _a === void 0 ? void 0 : _a.options.item(i);
12540
+ this.options?.forEach((o, i) => {
12541
+ const proxyOption = this.proxy?.options.item(i);
12575
12542
  if (proxyOption) {
12576
12543
  proxyOption.selected = o.selected;
12577
12544
  }
@@ -12585,9 +12552,8 @@
12585
12552
  * @internal
12586
12553
  */
12587
12554
  setDefaultSelectedOption() {
12588
- var _a;
12589
- const options = (_a = this.options) !== null && _a !== void 0 ? _a : Array.from(this.children).filter(Listbox.slottedOptionFilter);
12590
- const selectedIndex = options === null || options === void 0 ? void 0 : options.findIndex(el => el.hasAttribute("selected") || el.selected || el.value === this.value);
12555
+ const options = this.options ?? Array.from(this.children).filter(Listbox.slottedOptionFilter);
12556
+ const selectedIndex = options?.findIndex(el => el.hasAttribute("selected") || el.selected || el.value === this.value);
12591
12557
  if (selectedIndex !== -1) {
12592
12558
  this.selectedIndex = selectedIndex;
12593
12559
  return;
@@ -13133,14 +13099,12 @@
13133
13099
  }
13134
13100
  getTabIds() {
13135
13101
  return this.tabs.map((tab) => {
13136
- var _a;
13137
- return (_a = tab.getAttribute("id")) !== null && _a !== void 0 ? _a : `tab-${uniqueId()}`;
13102
+ return tab.getAttribute("id") ?? `tab-${uniqueId()}`;
13138
13103
  });
13139
13104
  }
13140
13105
  getTabPanelIds() {
13141
13106
  return this.tabpanels.map((tabPanel) => {
13142
- var _a;
13143
- return (_a = tabPanel.getAttribute("id")) !== null && _a !== void 0 ? _a : `panel-${uniqueId()}`;
13107
+ return tabPanel.getAttribute("id") ?? `panel-${uniqueId()}`;
13144
13108
  });
13145
13109
  }
13146
13110
  setComponent() {
@@ -13537,8 +13501,7 @@
13537
13501
  * @internal
13538
13502
  */
13539
13503
  mouseDownHandler(e) {
13540
- var _a;
13541
- const activeIndex = (_a = this.focusableElements) === null || _a === void 0 ? void 0 : _a.findIndex(x => x.contains(e.target));
13504
+ const activeIndex = this.focusableElements?.findIndex(x => x.contains(e.target));
13542
13505
  if (activeIndex > -1 && this.activeIndex !== activeIndex) {
13543
13506
  this.setFocusedElement(activeIndex);
13544
13507
  }
@@ -13576,8 +13539,9 @@
13576
13539
  * @internal
13577
13540
  */
13578
13541
  getDirectionalIncrementer(key) {
13579
- var _a, _b, _c, _d, _e;
13580
- return ((_e = (_c = (_b = (_a = ToolbarArrowKeyMap[key]) === null || _a === void 0 ? void 0 : _a[this.orientation]) === null || _b === void 0 ? void 0 : _b[this.direction]) !== null && _c !== void 0 ? _c : (_d = ToolbarArrowKeyMap[key]) === null || _d === void 0 ? void 0 : _d[this.orientation]) !== null && _e !== void 0 ? _e : 0);
13542
+ return (ToolbarArrowKeyMap[key]?.[this.orientation]?.[this.direction] ??
13543
+ ToolbarArrowKeyMap[key]?.[this.orientation] ??
13544
+ 0);
13581
13545
  }
13582
13546
  /**
13583
13547
  * Handle keyboard events for the toolbar.
@@ -13617,8 +13581,7 @@
13617
13581
  * @internal
13618
13582
  */
13619
13583
  reduceFocusableElements() {
13620
- var _a;
13621
- const previousFocusedElement = (_a = this.focusableElements) === null || _a === void 0 ? void 0 : _a[this.activeIndex];
13584
+ const previousFocusedElement = this.focusableElements?.[this.activeIndex];
13622
13585
  this.focusableElements = this.allSlottedItems.reduce(Toolbar.reduceFocusableItems, []);
13623
13586
  // If the previously active item is still focusable, adjust the active index to the
13624
13587
  // index of that item.
@@ -13651,10 +13614,9 @@
13651
13614
  * @internal
13652
13615
  */
13653
13616
  static reduceFocusableItems(elements, element) {
13654
- var _a, _b, _c, _d;
13655
13617
  const isRoleRadio = element.getAttribute("role") === "radio";
13656
- const isFocusableFastElement = (_b = (_a = element.$fastController) === null || _a === void 0 ? void 0 : _a.definition.shadowOptions) === null || _b === void 0 ? void 0 : _b.delegatesFocus;
13657
- const hasFocusableShadow = Array.from((_d = (_c = element.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll("*")) !== null && _d !== void 0 ? _d : []).some(x => isFocusable(x));
13618
+ const isFocusableFastElement = element.$fastController?.definition.shadowOptions?.delegatesFocus;
13619
+ const hasFocusableShadow = Array.from(element.shadowRoot?.querySelectorAll("*") ?? []).some(x => isFocusable(x));
13658
13620
  if (!element.hasAttribute("disabled") &&
13659
13621
  !element.hasAttribute("hidden") &&
13660
13622
  (isFocusable(element) ||
@@ -14919,9 +14881,9 @@
14919
14881
  const prefix = 'ni-nimble';
14920
14882
  const styleNameFromTokenName = (tokenName) => `${prefix}-${tokenName}`;
14921
14883
 
14922
- const template$W = html `<slot></slot>`;
14884
+ const template$Z = html `<slot></slot>`;
14923
14885
 
14924
- const styles$19 = css `
14886
+ const styles$1c = css `
14925
14887
  ${display$2('contents')}
14926
14888
  `;
14927
14889
 
@@ -15036,8 +14998,8 @@
15036
14998
  ], ThemeProvider.prototype, "theme", void 0);
15037
14999
  const nimbleDesignSystemProvider = ThemeProvider.compose({
15038
15000
  baseName: 'theme-provider',
15039
- styles: styles$19,
15040
- template: template$W
15001
+ styles: styles$1c,
15002
+ template: template$Z
15041
15003
  });
15042
15004
  DesignSystem.getOrCreate()
15043
15005
  .withPrefix('nimble')
@@ -16610,7 +16572,7 @@
16610
16572
  }
16611
16573
  // #endregion
16612
16574
 
16613
- const styles$18 = css `
16575
+ const styles$1b = css `
16614
16576
  @layer base, hover, focusVisible, active, disabled;
16615
16577
 
16616
16578
  @layer base {
@@ -16688,7 +16650,7 @@
16688
16650
  }
16689
16651
  `;
16690
16652
 
16691
- const template$V = (_context, definition) => html `${
16653
+ const template$Y = (_context, definition) => html `${
16692
16654
  /* top-container div is necessary because setting contenteditable directly on the native anchor instead
16693
16655
  leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.
16694
16656
  */ ''}<div
@@ -16791,8 +16753,8 @@
16791
16753
  const nimbleAnchor = Anchor.compose({
16792
16754
  baseName: 'anchor',
16793
16755
  baseClass: Anchor$1,
16794
- template: template$V,
16795
- styles: styles$18,
16756
+ template: template$Y,
16757
+ styles: styles$1b,
16796
16758
  shadowOptions: {
16797
16759
  delegatesFocus: true
16798
16760
  }
@@ -16901,7 +16863,7 @@
16901
16863
  padding: 0;
16902
16864
  `;
16903
16865
 
16904
- const styles$17 = css `
16866
+ const styles$1a = css `
16905
16867
  @layer base, checked, hover, focusVisible, active, disabled, top;
16906
16868
 
16907
16869
  @layer base {
@@ -17185,8 +17147,8 @@
17185
17147
  }
17186
17148
  `));
17187
17149
 
17188
- const styles$16 = css `
17189
- ${styles$17}
17150
+ const styles$19 = css `
17151
+ ${styles$1a}
17190
17152
  ${buttonAppearanceVariantStyles}
17191
17153
 
17192
17154
  .control {
@@ -17206,7 +17168,7 @@
17206
17168
  }
17207
17169
  `;
17208
17170
 
17209
- const template$U = (context, definition) => html `
17171
+ const template$X = (context, definition) => html `
17210
17172
  <a
17211
17173
  class="control"
17212
17174
  part="control"
@@ -17288,8 +17250,8 @@
17288
17250
  ], AnchorButton.prototype, "disabled", void 0);
17289
17251
  const nimbleAnchorButton = AnchorButton.compose({
17290
17252
  baseName: 'anchor-button',
17291
- template: template$U,
17292
- styles: styles$16,
17253
+ template: template$X,
17254
+ styles: styles$19,
17293
17255
  shadowOptions: {
17294
17256
  delegatesFocus: true
17295
17257
  }
@@ -17297,7 +17259,7 @@
17297
17259
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
17298
17260
  const anchorButtonTag = 'nimble-anchor-button';
17299
17261
 
17300
- const styles$15 = css `
17262
+ const styles$18 = css `
17301
17263
  ${display$2('grid')}
17302
17264
 
17303
17265
  :host {
@@ -17380,7 +17342,7 @@
17380
17342
  }
17381
17343
  `;
17382
17344
 
17383
- const template$T = (context, definition) => html `
17345
+ const template$W = (context, definition) => html `
17384
17346
  <template
17385
17347
  role="menuitem"
17386
17348
  class="${x => (typeof x.startColumnCount === 'number'
@@ -17481,8 +17443,8 @@
17481
17443
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17482
17444
  const nimbleAnchorMenuItem = AnchorMenuItem.compose({
17483
17445
  baseName: 'anchor-menu-item',
17484
- template: template$T,
17485
- styles: styles$15,
17446
+ template: template$W,
17447
+ styles: styles$18,
17486
17448
  shadowOptions: {
17487
17449
  delegatesFocus: true
17488
17450
  }
@@ -17492,7 +17454,27 @@
17492
17454
  .register(nimbleAnchorMenuItem());
17493
17455
  const anchorMenuItemTag = 'nimble-anchor-menu-item';
17494
17456
 
17495
- const styles$14 = css `
17457
+ const styles$17 = css `
17458
+ ${display$2('flex')}
17459
+ `;
17460
+
17461
+ const template$V = html `
17462
+ <template>anchor step</template>
17463
+ `;
17464
+
17465
+ /**
17466
+ * A nimble-styled anchor step for a stepper
17467
+ */
17468
+ class AnchorStep extends FoundationElement {
17469
+ }
17470
+ const nimbleAnchorStep = AnchorStep.compose({
17471
+ baseName: 'anchor-step',
17472
+ template: template$V,
17473
+ styles: styles$17
17474
+ });
17475
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorStep());
17476
+
17477
+ const styles$16 = css `
17496
17478
  ${display$2('inline-flex')}
17497
17479
 
17498
17480
  :host {
@@ -17609,7 +17591,7 @@
17609
17591
  }
17610
17592
  `;
17611
17593
 
17612
- const template$S = (context, definition) => html `
17594
+ const template$U = (context, definition) => html `
17613
17595
  <template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
17614
17596
  <a
17615
17597
  download="${x => x.download}"
@@ -17661,15 +17643,15 @@
17661
17643
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17662
17644
  const nimbleAnchorTab = AnchorTab.compose({
17663
17645
  baseName: 'anchor-tab',
17664
- template: template$S,
17665
- styles: styles$14,
17646
+ template: template$U,
17647
+ styles: styles$16,
17666
17648
  shadowOptions: {
17667
17649
  delegatesFocus: true
17668
17650
  }
17669
17651
  });
17670
17652
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());
17671
17653
 
17672
- const styles$13 = css `
17654
+ const styles$15 = css `
17673
17655
  ${display$2('flex')}
17674
17656
 
17675
17657
  :host {
@@ -17709,12 +17691,12 @@
17709
17691
  }
17710
17692
  `;
17711
17693
 
17712
- const styles$12 = css `
17713
- ${styles$17}
17694
+ const styles$14 = css `
17695
+ ${styles$1a}
17714
17696
  ${buttonAppearanceVariantStyles}
17715
17697
  `;
17716
17698
 
17717
- const template$R = (context, definition) => html `
17699
+ const template$T = (context, definition) => html `
17718
17700
  <button
17719
17701
  class="control"
17720
17702
  part="control"
@@ -17805,8 +17787,8 @@
17805
17787
  const nimbleButton = Button$1.compose({
17806
17788
  baseName: 'button',
17807
17789
  baseClass: Button$2,
17808
- template: template$R,
17809
- styles: styles$12,
17790
+ template: template$T,
17791
+ styles: styles$14,
17810
17792
  shadowOptions: {
17811
17793
  delegatesFocus: true
17812
17794
  }
@@ -18753,7 +18735,7 @@
18753
18735
  };
18754
18736
 
18755
18737
  // Avoiding any whitespace in the template because this is an inline element
18756
- const template$Q = html `<div
18738
+ const template$S = html `<div
18757
18739
  class="icon"
18758
18740
  aria-hidden="true"
18759
18741
  :innerHTML=${x => x.icon.data}
@@ -18768,7 +18750,7 @@
18768
18750
  -webkit-user-select: none;
18769
18751
  `;
18770
18752
 
18771
- const styles$11 = css `
18753
+ const styles$13 = css `
18772
18754
  ${display$2('inline-flex')}
18773
18755
 
18774
18756
  :host {
@@ -18831,8 +18813,8 @@
18831
18813
  const registerIconSvg = (baseName, iconClass) => {
18832
18814
  const composedIcon = iconClass.compose({
18833
18815
  baseName,
18834
- template: template$Q,
18835
- styles: styles$11
18816
+ template: template$S,
18817
+ styles: styles$13
18836
18818
  });
18837
18819
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
18838
18820
  };
@@ -18927,7 +18909,7 @@
18927
18909
  cssCustomPropertyName: null
18928
18910
  }).withDefault(coreLabelDefaults.itemRemoveLabel);
18929
18911
 
18930
- const template$P = (context, definition) => html `
18912
+ const template$R = (context, definition) => html `
18931
18913
  <div
18932
18914
  class="tab-bar"
18933
18915
  >
@@ -19226,15 +19208,15 @@
19226
19208
  applyMixins(AnchorTabs, StartEnd);
19227
19209
  const nimbleAnchorTabs = AnchorTabs.compose({
19228
19210
  baseName: 'anchor-tabs',
19229
- template: template$P,
19230
- styles: styles$13,
19211
+ template: template$R,
19212
+ styles: styles$15,
19231
19213
  shadowOptions: {
19232
19214
  delegatesFocus: false
19233
19215
  }
19234
19216
  });
19235
19217
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTabs());
19236
19218
 
19237
- const styles$10 = css `
19219
+ const styles$12 = css `
19238
19220
  ${display$2('block')}
19239
19221
 
19240
19222
  :host {
@@ -19339,7 +19321,7 @@
19339
19321
  }
19340
19322
  `;
19341
19323
 
19342
- const template$O = (context, definition) => html `
19324
+ const template$Q = (context, definition) => html `
19343
19325
  <template
19344
19326
  role="treeitem"
19345
19327
  slot="${x => (x.isNestedItem() ? 'item' : null)}"
@@ -19476,8 +19458,8 @@
19476
19458
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
19477
19459
  const nimbleAnchorTreeItem = AnchorTreeItem.compose({
19478
19460
  baseName: 'anchor-tree-item',
19479
- template: template$O,
19480
- styles: styles$10,
19461
+ template: template$Q,
19462
+ styles: styles$12,
19481
19463
  shadowOptions: {
19482
19464
  delegatesFocus: true
19483
19465
  }
@@ -19493,7 +19475,7 @@
19493
19475
  zIndex1000: '1000'
19494
19476
  };
19495
19477
 
19496
- const styles$$ = css `
19478
+ const styles$11 = css `
19497
19479
  ${display$2('block')}
19498
19480
 
19499
19481
  :host {
@@ -19524,7 +19506,7 @@
19524
19506
  baseName: 'anchored-region',
19525
19507
  baseClass: AnchoredRegion$1,
19526
19508
  template: anchoredRegionTemplate,
19527
- styles: styles$$
19509
+ styles: styles$11
19528
19510
  });
19529
19511
  DesignSystem.getOrCreate()
19530
19512
  .withPrefix('nimble')
@@ -19605,7 +19587,7 @@
19605
19587
  const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
19606
19588
  /* eslint-enable max-classes-per-file */
19607
19589
 
19608
- const styles$_ = css `
19590
+ const styles$10 = css `
19609
19591
  ${display$2('flex')}
19610
19592
 
19611
19593
  :host {
@@ -19783,7 +19765,7 @@
19783
19765
  information: 'information'
19784
19766
  };
19785
19767
 
19786
- const template$N = html `
19768
+ const template$P = html `
19787
19769
  <${themeProviderTag} theme="${Theme.color}">
19788
19770
  <div class="container"
19789
19771
  role="status"
@@ -19901,8 +19883,8 @@
19901
19883
  applyMixins(Banner, ARIAGlobalStatesAndProperties);
19902
19884
  const nimbleBanner = Banner.compose({
19903
19885
  baseName: 'banner',
19904
- template: template$N,
19905
- styles: styles$_
19886
+ template: template$P,
19887
+ styles: styles$10
19906
19888
  });
19907
19889
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
19908
19890
 
@@ -19943,7 +19925,7 @@
19943
19925
  </template>
19944
19926
  `;
19945
19927
 
19946
- const styles$Z = css `
19928
+ const styles$$ = css `
19947
19929
  ${display$2('inline-flex')}
19948
19930
 
19949
19931
  :host {
@@ -20047,11 +20029,11 @@
20047
20029
  baseName: 'breadcrumb',
20048
20030
  baseClass: Breadcrumb$1,
20049
20031
  template: breadcrumbTemplate,
20050
- styles: styles$Z
20032
+ styles: styles$$
20051
20033
  });
20052
20034
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
20053
20035
 
20054
- const styles$Y = css `
20036
+ const styles$_ = css `
20055
20037
  @layer base, hover, focusVisible, active, disabled;
20056
20038
 
20057
20039
  @layer base {
@@ -20148,14 +20130,14 @@ so this becomes the fallback color for the slot */ ''}
20148
20130
  baseName: 'breadcrumb-item',
20149
20131
  baseClass: BreadcrumbItem$1,
20150
20132
  template: breadcrumbItemTemplate,
20151
- styles: styles$Y,
20133
+ styles: styles$_,
20152
20134
  separator: forwardSlash16X16.data
20153
20135
  });
20154
20136
  DesignSystem.getOrCreate()
20155
20137
  .withPrefix('nimble')
20156
20138
  .register(nimbleBreadcrumbItem());
20157
20139
 
20158
- const styles$X = css `
20140
+ const styles$Z = css `
20159
20141
  ${display$2('flex')}
20160
20142
 
20161
20143
  :host {
@@ -20179,7 +20161,7 @@ so this becomes the fallback color for the slot */ ''}
20179
20161
  }
20180
20162
  `;
20181
20163
 
20182
- const template$M = html `
20164
+ const template$O = html `
20183
20165
  <section aria-labelledby="title-slot">
20184
20166
  <span id="title-slot"><slot name="title"></slot></span>
20185
20167
  <slot></slot>
@@ -20194,12 +20176,12 @@ so this becomes the fallback color for the slot */ ''}
20194
20176
  const nimbleCard = Card.compose({
20195
20177
  baseName: 'card',
20196
20178
  baseClass: Card$1,
20197
- template: template$M,
20198
- styles: styles$X
20179
+ template: template$O,
20180
+ styles: styles$Z
20199
20181
  });
20200
20182
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCard());
20201
20183
 
20202
- const styles$W = css `
20184
+ const styles$Y = css `
20203
20185
  ${display$2('inline-flex')}
20204
20186
 
20205
20187
  :host {
@@ -20357,14 +20339,14 @@ so this becomes the fallback color for the slot */ ''}
20357
20339
  const nimbleCardButton = CardButton.compose({
20358
20340
  baseName: 'card-button',
20359
20341
  template: buttonTemplate,
20360
- styles: styles$W,
20342
+ styles: styles$Y,
20361
20343
  shadowOptions: {
20362
20344
  delegatesFocus: true
20363
20345
  }
20364
20346
  });
20365
20347
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCardButton());
20366
20348
 
20367
- const styles$V = css `
20349
+ const styles$X = css `
20368
20350
  .error-icon {
20369
20351
  display: none;
20370
20352
  }
@@ -20398,9 +20380,9 @@ so this becomes the fallback color for the slot */ ''}
20398
20380
  }
20399
20381
  `;
20400
20382
 
20401
- const styles$U = css `
20383
+ const styles$W = css `
20402
20384
  ${display$2('inline-grid')}
20403
- ${styles$V}
20385
+ ${styles$X}
20404
20386
 
20405
20387
  :host {
20406
20388
  font: ${bodyFont};
@@ -20594,7 +20576,7 @@ so this becomes the fallback color for the slot */ ''}
20594
20576
  </div>
20595
20577
  `;
20596
20578
 
20597
- const template$L = (_context, definition) => html `
20579
+ const template$N = (_context, definition) => html `
20598
20580
  <template
20599
20581
  role="checkbox"
20600
20582
  aria-checked="${x => x.checked}"
@@ -20679,16 +20661,16 @@ so this becomes the fallback color for the slot */ ''}
20679
20661
  const nimbleCheckbox = Checkbox.compose({
20680
20662
  baseName: 'checkbox',
20681
20663
  baseClass: Checkbox$1,
20682
- template: template$L,
20683
- styles: styles$U,
20664
+ template: template$N,
20665
+ styles: styles$W,
20684
20666
  checkedIndicator: check16X16.data,
20685
20667
  indeterminateIndicator: minus16X16.data
20686
20668
  });
20687
20669
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
20688
20670
  const checkboxTag = 'nimble-checkbox';
20689
20671
 
20690
- const styles$T = css `
20691
- ${styles$17}
20672
+ const styles$V = css `
20673
+ ${styles$1a}
20692
20674
  ${buttonAppearanceVariantStyles}
20693
20675
 
20694
20676
  @layer checked {
@@ -20735,7 +20717,7 @@ so this becomes the fallback color for the slot */ ''}
20735
20717
  }
20736
20718
  `));
20737
20719
 
20738
- const template$K = (context, definition) => html `
20720
+ const template$M = (context, definition) => html `
20739
20721
  <div
20740
20722
  role="button"
20741
20723
  part="control"
@@ -20830,8 +20812,8 @@ so this becomes the fallback color for the slot */ ''}
20830
20812
  applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
20831
20813
  const nimbleToggleButton = ToggleButton.compose({
20832
20814
  baseName: 'toggle-button',
20833
- template: template$K,
20834
- styles: styles$T,
20815
+ template: template$M,
20816
+ styles: styles$V,
20835
20817
  shadowOptions: {
20836
20818
  delegatesFocus: true
20837
20819
  }
@@ -20861,7 +20843,7 @@ so this becomes the fallback color for the slot */ ''}
20861
20843
  frameless: 'frameless'
20862
20844
  };
20863
20845
 
20864
- const styles$S = css `
20846
+ const styles$U = css `
20865
20847
  ${display$2('inline-flex')}
20866
20848
 
20867
20849
  :host {
@@ -21151,7 +21133,7 @@ so this becomes the fallback color for the slot */ ''}
21151
21133
  }
21152
21134
  `));
21153
21135
 
21154
- const styles$R = css `
21136
+ const styles$T = css `
21155
21137
  .annotated-label {
21156
21138
  display: flex;
21157
21139
  flex-direction: row;
@@ -21178,10 +21160,10 @@ so this becomes the fallback color for the slot */ ''}
21178
21160
  none: undefined,
21179
21161
  standard: 'standard'};
21180
21162
 
21181
- const styles$Q = css `
21182
- ${styles$S}
21183
- ${styles$V}
21184
- ${styles$R}
21163
+ const styles$S = css `
21164
+ ${styles$U}
21165
+ ${styles$X}
21166
+ ${styles$T}
21185
21167
 
21186
21168
  :host {
21187
21169
  --ni-private-hover-bottom-border-width: 2px;
@@ -21302,7 +21284,7 @@ so this becomes the fallback color for the slot */ ''}
21302
21284
  <slot></slot>
21303
21285
  </label>
21304
21286
  `);
21305
- const template$J = (context, definition) => html `
21287
+ const template$L = (context, definition) => html `
21306
21288
  <template
21307
21289
  aria-disabled="${x => x.ariaDisabled}"
21308
21290
  autocomplete="${x => x.autocomplete}"
@@ -22077,8 +22059,8 @@ so this becomes the fallback color for the slot */ ''}
22077
22059
  const nimbleCombobox = Combobox.compose({
22078
22060
  baseName: 'combobox',
22079
22061
  baseClass: FormAssociatedCombobox,
22080
- template: template$J,
22081
- styles: styles$Q,
22062
+ template: template$L,
22063
+ styles: styles$S,
22082
22064
  shadowOptions: {
22083
22065
  delegatesFocus: true
22084
22066
  },
@@ -22122,7 +22104,7 @@ so this becomes the fallback color for the slot */ ''}
22122
22104
  */
22123
22105
  const UserDismissed = Symbol('user dismissed');
22124
22106
 
22125
- const styles$P = css `
22107
+ const styles$R = css `
22126
22108
  ${display$2('grid')}
22127
22109
 
22128
22110
  dialog {
@@ -22215,7 +22197,7 @@ so this becomes the fallback color for the slot */ ''}
22215
22197
  }
22216
22198
  `;
22217
22199
 
22218
- const template$I = html `
22200
+ const template$K = html `
22219
22201
  <template>
22220
22202
  <dialog
22221
22203
  ${ref('dialogElement')}
@@ -22363,13 +22345,13 @@ so this becomes the fallback color for the slot */ ''}
22363
22345
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
22364
22346
  const nimbleDialog = Dialog.compose({
22365
22347
  baseName: 'dialog',
22366
- template: template$I,
22367
- styles: styles$P,
22348
+ template: template$K,
22349
+ styles: styles$R,
22368
22350
  baseClass: Dialog
22369
22351
  });
22370
22352
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
22371
22353
 
22372
- const styles$O = css `
22354
+ const styles$Q = css `
22373
22355
  ${display$2('block')}
22374
22356
 
22375
22357
  :host {
@@ -22512,7 +22494,7 @@ so this becomes the fallback color for the slot */ ''}
22512
22494
  }
22513
22495
  `;
22514
22496
 
22515
- const template$H = html `
22497
+ const template$J = html `
22516
22498
  <dialog
22517
22499
  ${ref('dialog')}
22518
22500
  aria-label="${x => x.ariaLabel}"
@@ -22654,8 +22636,8 @@ so this becomes the fallback color for the slot */ ''}
22654
22636
  applyMixins(Drawer, ARIAGlobalStatesAndProperties);
22655
22637
  const nimbleDrawer = Drawer.compose({
22656
22638
  baseName: 'drawer',
22657
- template: template$H,
22658
- styles: styles$O
22639
+ template: template$J,
22640
+ styles: styles$Q
22659
22641
  });
22660
22642
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
22661
22643
 
@@ -25437,7 +25419,7 @@ so this becomes the fallback color for the slot */ ''}
25437
25419
  }
25438
25420
  }
25439
25421
 
25440
- const styles$N = css `
25422
+ const styles$P = css `
25441
25423
  ${display$2('none')}
25442
25424
  `;
25443
25425
 
@@ -25502,7 +25484,7 @@ so this becomes the fallback color for the slot */ ''}
25502
25484
  ], LabelProviderCore.prototype, "itemRemove", void 0);
25503
25485
  const nimbleLabelProviderCore = LabelProviderCore.compose({
25504
25486
  baseName: 'label-provider-core',
25505
- styles: styles$N
25487
+ styles: styles$P
25506
25488
  });
25507
25489
  DesignSystem.getOrCreate()
25508
25490
  .withPrefix('nimble')
@@ -25669,13 +25651,13 @@ so this becomes the fallback color for the slot */ ''}
25669
25651
  ], LabelProviderTable.prototype, "groupRowPlaceholderEmpty", void 0);
25670
25652
  const nimbleLabelProviderTable = LabelProviderTable.compose({
25671
25653
  baseName: 'label-provider-table',
25672
- styles: styles$N
25654
+ styles: styles$P
25673
25655
  });
25674
25656
  DesignSystem.getOrCreate()
25675
25657
  .withPrefix('nimble')
25676
25658
  .register(nimbleLabelProviderTable());
25677
25659
 
25678
- const styles$M = css `
25660
+ const styles$O = css `
25679
25661
  ${display$2('flex')}
25680
25662
 
25681
25663
  :host {
@@ -25751,7 +25733,7 @@ so this becomes the fallback color for the slot */ ''}
25751
25733
  * The template for the {@link @ni/fast-foundation#(ListboxOption:class)} component.
25752
25734
  * @public
25753
25735
  */
25754
- const template$G = (context, definition) => html `
25736
+ const template$I = (context, definition) => html `
25755
25737
  <template
25756
25738
  aria-checked="${x => x.ariaChecked}"
25757
25739
  aria-disabled="${x => x.ariaDisabled}"
@@ -25864,13 +25846,13 @@ so this becomes the fallback color for the slot */ ''}
25864
25846
  const nimbleListOption = ListOption.compose({
25865
25847
  baseName: 'list-option',
25866
25848
  baseClass: ListboxOption,
25867
- template: template$G,
25868
- styles: styles$M
25849
+ template: template$I,
25850
+ styles: styles$O
25869
25851
  });
25870
25852
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
25871
25853
  const listOptionTag = 'nimble-list-option';
25872
25854
 
25873
- const styles$L = css `
25855
+ const styles$N = css `
25874
25856
  ${display$2('flex')}
25875
25857
 
25876
25858
  :host {
@@ -25932,7 +25914,7 @@ so this becomes the fallback color for the slot */ ''}
25932
25914
  const isListOption$1 = (n) => {
25933
25915
  return n instanceof ListOption;
25934
25916
  };
25935
- const template$F = html `
25917
+ const template$H = html `
25936
25918
  <template
25937
25919
  role="group"
25938
25920
  aria-label="${x => x.labelContent}"
@@ -26074,8 +26056,8 @@ so this becomes the fallback color for the slot */ ''}
26074
26056
  const nimbleListOptionGroup = ListOptionGroup.compose({
26075
26057
  baseName: 'list-option-group',
26076
26058
  baseClass: FoundationElement,
26077
- template: template$F,
26078
- styles: styles$L
26059
+ template: template$H,
26060
+ styles: styles$N
26079
26061
  });
26080
26062
  DesignSystem.getOrCreate()
26081
26063
  .withPrefix('nimble')
@@ -26102,9 +26084,9 @@ so this becomes the fallback color for the slot */ ''}
26102
26084
  attr()
26103
26085
  ], Mapping$1.prototype, "key", void 0);
26104
26086
 
26105
- const template$E = html `<template slot="mapping"></template>`;
26087
+ const template$G = html `<template slot="mapping"></template>`;
26106
26088
 
26107
- const styles$K = css `
26089
+ const styles$M = css `
26108
26090
  ${display$2('none')}
26109
26091
  `;
26110
26092
 
@@ -26120,8 +26102,8 @@ so this becomes the fallback color for the slot */ ''}
26120
26102
  ], MappingEmpty.prototype, "text", void 0);
26121
26103
  const emptyMapping = MappingEmpty.compose({
26122
26104
  baseName: 'mapping-empty',
26123
- template: template$E,
26124
- styles: styles$K
26105
+ template: template$G,
26106
+ styles: styles$M
26125
26107
  });
26126
26108
  DesignSystem.getOrCreate().withPrefix('nimble').register(emptyMapping());
26127
26109
 
@@ -26191,8 +26173,8 @@ so this becomes the fallback color for the slot */ ''}
26191
26173
  ], MappingIcon.prototype, "resolvedIcon", void 0);
26192
26174
  const iconMapping = MappingIcon.compose({
26193
26175
  baseName: 'mapping-icon',
26194
- template: template$E,
26195
- styles: styles$K
26176
+ template: template$G,
26177
+ styles: styles$M
26196
26178
  });
26197
26179
  DesignSystem.getOrCreate().withPrefix('nimble').register(iconMapping());
26198
26180
 
@@ -26215,8 +26197,8 @@ so this becomes the fallback color for the slot */ ''}
26215
26197
  ], MappingSpinner.prototype, "textHidden", void 0);
26216
26198
  const spinnerMapping = MappingSpinner.compose({
26217
26199
  baseName: 'mapping-spinner',
26218
- template: template$E,
26219
- styles: styles$K
26200
+ template: template$G,
26201
+ styles: styles$M
26220
26202
  });
26221
26203
  DesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());
26222
26204
 
@@ -26232,8 +26214,8 @@ so this becomes the fallback color for the slot */ ''}
26232
26214
  ], MappingText.prototype, "text", void 0);
26233
26215
  const textMapping = MappingText.compose({
26234
26216
  baseName: 'mapping-text',
26235
- template: template$E,
26236
- styles: styles$K
26217
+ template: template$G,
26218
+ styles: styles$M
26237
26219
  });
26238
26220
  DesignSystem.getOrCreate().withPrefix('nimble').register(textMapping());
26239
26221
 
@@ -26535,7 +26517,7 @@ so this becomes the fallback color for the slot */ ''}
26535
26517
  observable
26536
26518
  ], Menu$1.prototype, "itemIcons", void 0);
26537
26519
 
26538
- const template$D = () => html `
26520
+ const template$F = () => html `
26539
26521
  <template
26540
26522
  slot="${x => {
26541
26523
  if (x.slot) {
@@ -26552,7 +26534,7 @@ so this becomes the fallback color for the slot */ ''}
26552
26534
  </template>
26553
26535
  `;
26554
26536
 
26555
- const styles$J = css `
26537
+ const styles$L = css `
26556
26538
  ${display$2('grid')}
26557
26539
 
26558
26540
  :host {
@@ -26623,8 +26605,8 @@ so this becomes the fallback color for the slot */ ''}
26623
26605
  const nimbleMenu = Menu.compose({
26624
26606
  baseName: 'menu',
26625
26607
  baseClass: Menu$1,
26626
- template: template$D,
26627
- styles: styles$J
26608
+ template: template$F,
26609
+ styles: styles$L
26628
26610
  });
26629
26611
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
26630
26612
 
@@ -26639,7 +26621,7 @@ so this becomes the fallback color for the slot */ ''}
26639
26621
  auto: 'auto'
26640
26622
  };
26641
26623
 
26642
- const styles$I = css `
26624
+ const styles$K = css `
26643
26625
  ${display$2('inline-block')}
26644
26626
 
26645
26627
  :host {
@@ -26657,7 +26639,7 @@ so this becomes the fallback color for the slot */ ''}
26657
26639
  }
26658
26640
  `;
26659
26641
 
26660
- const template$C = html `
26642
+ const template$E = html `
26661
26643
  <template
26662
26644
  ?open="${x => x.open}"
26663
26645
  @focusout="${(x, c) => x.focusoutHandler(c.event)}"
@@ -26907,8 +26889,8 @@ so this becomes the fallback color for the slot */ ''}
26907
26889
  ], MenuButton.prototype, "slottedMenus", void 0);
26908
26890
  const nimbleMenuButton = MenuButton.compose({
26909
26891
  baseName: 'menu-button',
26910
- template: template$C,
26911
- styles: styles$I,
26892
+ template: template$E,
26893
+ styles: styles$K,
26912
26894
  shadowOptions: {
26913
26895
  delegatesFocus: true
26914
26896
  }
@@ -26916,7 +26898,7 @@ so this becomes the fallback color for the slot */ ''}
26916
26898
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());
26917
26899
  const menuButtonTag = 'nimble-menu-button';
26918
26900
 
26919
- const styles$H = css `
26901
+ const styles$J = css `
26920
26902
  ${display$2('grid')}
26921
26903
 
26922
26904
  :host {
@@ -27013,7 +26995,7 @@ so this becomes the fallback color for the slot */ ''}
27013
26995
  baseName: 'menu-item',
27014
26996
  baseClass: MenuItem$1,
27015
26997
  template: menuItemTemplate,
27016
- styles: styles$H,
26998
+ styles: styles$J,
27017
26999
  expandCollapseGlyph: arrowExpanderRight16X16.data
27018
27000
  });
27019
27001
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuItem());
@@ -27028,10 +27010,10 @@ so this becomes the fallback color for the slot */ ''}
27028
27010
  frameless: 'frameless'
27029
27011
  };
27030
27012
 
27031
- const styles$G = css `
27013
+ const styles$I = css `
27032
27014
  ${display$2('inline-block')}
27033
- ${styles$V}
27034
- ${styles$R}
27015
+ ${styles$X}
27016
+ ${styles$T}
27035
27017
 
27036
27018
  :host {
27037
27019
  font: ${bodyFont};
@@ -27254,7 +27236,7 @@ so this becomes the fallback color for the slot */ ''}
27254
27236
  * The template for the {@link @ni/fast-foundation#(NumberField:class)} component.
27255
27237
  * @public
27256
27238
  */
27257
- const template$B = (context, definition) => html `
27239
+ const template$D = (context, definition) => html `
27258
27240
  <template class="${x => (x.readOnly ? 'readonly' : '')}">
27259
27241
  ${labelTemplate$4}
27260
27242
  <div class="root" part="root">
@@ -27408,8 +27390,8 @@ so this becomes the fallback color for the slot */ ''}
27408
27390
  const nimbleNumberField = NumberField.compose({
27409
27391
  baseName: 'number-field',
27410
27392
  baseClass: NumberField$1,
27411
- template: template$B,
27412
- styles: styles$G,
27393
+ template: template$D,
27394
+ styles: styles$I,
27413
27395
  shadowOptions: {
27414
27396
  delegatesFocus: true
27415
27397
  },
@@ -27452,7 +27434,7 @@ so this becomes the fallback color for the slot */ ''}
27452
27434
  });
27453
27435
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
27454
27436
 
27455
- const styles$F = css `
27437
+ const styles$H = css `
27456
27438
  ${display$2('inline-flex')}
27457
27439
 
27458
27440
  :host {
@@ -27552,15 +27534,15 @@ so this becomes the fallback color for the slot */ ''}
27552
27534
  baseName: 'radio',
27553
27535
  baseClass: Radio$1,
27554
27536
  template: radioTemplate,
27555
- styles: styles$F,
27537
+ styles: styles$H,
27556
27538
  checkedIndicator: circleFilled16X16.data
27557
27539
  });
27558
27540
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());
27559
27541
 
27560
- const styles$E = css `
27542
+ const styles$G = css `
27561
27543
  ${display$2('inline-block')}
27562
- ${styles$V}
27563
- ${styles$R}
27544
+ ${styles$X}
27545
+ ${styles$T}
27564
27546
 
27565
27547
  .positioning-region {
27566
27548
  display: flex;
@@ -27599,7 +27581,7 @@ so this becomes the fallback color for the slot */ ''}
27599
27581
  `;
27600
27582
 
27601
27583
  const labelTemplate$3 = createRequiredVisibleLabelTemplate(html `<slot name="label"></slot>`);
27602
- const template$A = html `
27584
+ const template$C = html `
27603
27585
  <template
27604
27586
  role="radiogroup"
27605
27587
  aria-disabled="${x => x.disabled}"
@@ -27639,8 +27621,8 @@ so this becomes the fallback color for the slot */ ''}
27639
27621
  const nimbleRadioGroup = RadioGroup.compose({
27640
27622
  baseName: 'radio-group',
27641
27623
  baseClass: RadioGroup$1,
27642
- template: template$A,
27643
- styles: styles$E,
27624
+ template: template$C,
27625
+ styles: styles$G,
27644
27626
  shadowOptions: {
27645
27627
  delegatesFocus: true
27646
27628
  }
@@ -31576,7 +31558,7 @@ so this becomes the fallback color for the slot */ ''}
31576
31558
  JSON-serialization identifier using
31577
31559
  [`Step.jsonID`](https://prosemirror.net/docs/ref/#transform.Step^jsonID).
31578
31560
  */
31579
- class Step {
31561
+ let Step$1 = class Step {
31580
31562
  /**
31581
31563
  Get the step map that represents the changes made by this step,
31582
31564
  and which can be used to transform between positions in the old
@@ -31614,7 +31596,7 @@ so this becomes the fallback color for the slot */ ''}
31614
31596
  stepClass.prototype.jsonID = id;
31615
31597
  return stepClass;
31616
31598
  }
31617
- }
31599
+ };
31618
31600
  /**
31619
31601
  The result of [applying](https://prosemirror.net/docs/ref/#transform.Step.apply) a step. Contains either a
31620
31602
  new document or a failure value.
@@ -31675,7 +31657,7 @@ so this becomes the fallback color for the slot */ ''}
31675
31657
  /**
31676
31658
  Add a mark to all inline content between two positions.
31677
31659
  */
31678
- class AddMarkStep extends Step {
31660
+ class AddMarkStep extends Step$1 {
31679
31661
  /**
31680
31662
  Create a mark step.
31681
31663
  */
@@ -31736,11 +31718,11 @@ so this becomes the fallback color for the slot */ ''}
31736
31718
  return new AddMarkStep(json.from, json.to, schema.markFromJSON(json.mark));
31737
31719
  }
31738
31720
  }
31739
- Step.jsonID("addMark", AddMarkStep);
31721
+ Step$1.jsonID("addMark", AddMarkStep);
31740
31722
  /**
31741
31723
  Remove a mark from all inline content between two positions.
31742
31724
  */
31743
- class RemoveMarkStep extends Step {
31725
+ class RemoveMarkStep extends Step$1 {
31744
31726
  /**
31745
31727
  Create a mark-removing step.
31746
31728
  */
@@ -31798,11 +31780,11 @@ so this becomes the fallback color for the slot */ ''}
31798
31780
  return new RemoveMarkStep(json.from, json.to, schema.markFromJSON(json.mark));
31799
31781
  }
31800
31782
  }
31801
- Step.jsonID("removeMark", RemoveMarkStep);
31783
+ Step$1.jsonID("removeMark", RemoveMarkStep);
31802
31784
  /**
31803
31785
  Add a mark to a specific node.
31804
31786
  */
31805
- class AddNodeMarkStep extends Step {
31787
+ class AddNodeMarkStep extends Step$1 {
31806
31788
  /**
31807
31789
  Create a node mark step.
31808
31790
  */
@@ -31855,11 +31837,11 @@ so this becomes the fallback color for the slot */ ''}
31855
31837
  return new AddNodeMarkStep(json.pos, schema.markFromJSON(json.mark));
31856
31838
  }
31857
31839
  }
31858
- Step.jsonID("addNodeMark", AddNodeMarkStep);
31840
+ Step$1.jsonID("addNodeMark", AddNodeMarkStep);
31859
31841
  /**
31860
31842
  Remove a mark from a specific node.
31861
31843
  */
31862
- class RemoveNodeMarkStep extends Step {
31844
+ class RemoveNodeMarkStep extends Step$1 {
31863
31845
  /**
31864
31846
  Create a mark-removing step.
31865
31847
  */
@@ -31905,12 +31887,12 @@ so this becomes the fallback color for the slot */ ''}
31905
31887
  return new RemoveNodeMarkStep(json.pos, schema.markFromJSON(json.mark));
31906
31888
  }
31907
31889
  }
31908
- Step.jsonID("removeNodeMark", RemoveNodeMarkStep);
31890
+ Step$1.jsonID("removeNodeMark", RemoveNodeMarkStep);
31909
31891
 
31910
31892
  /**
31911
31893
  Replace a part of the document with a slice of new content.
31912
31894
  */
31913
- class ReplaceStep extends Step {
31895
+ class ReplaceStep extends Step$1 {
31914
31896
  /**
31915
31897
  The given `slice` should fit the 'gap' between `from` and
31916
31898
  `to`—the depths must line up, and the surrounding nodes must be
@@ -31994,13 +31976,13 @@ so this becomes the fallback color for the slot */ ''}
31994
31976
  return new ReplaceStep(json.from, json.to, Slice.fromJSON(schema, json.slice), !!json.structure);
31995
31977
  }
31996
31978
  }
31997
- Step.jsonID("replace", ReplaceStep);
31979
+ Step$1.jsonID("replace", ReplaceStep);
31998
31980
  /**
31999
31981
  Replace a part of the document with a slice of content, but
32000
31982
  preserve a range of the replaced content by moving it into the
32001
31983
  slice.
32002
31984
  */
32003
- class ReplaceAroundStep extends Step {
31985
+ class ReplaceAroundStep extends Step$1 {
32004
31986
  /**
32005
31987
  Create a replace-around step with the given range and gap.
32006
31988
  `insert` should be the point in the slice into which the content
@@ -32093,7 +32075,7 @@ so this becomes the fallback color for the slot */ ''}
32093
32075
  return new ReplaceAroundStep(json.from, json.to, json.gapFrom, json.gapTo, Slice.fromJSON(schema, json.slice), json.insert, !!json.structure);
32094
32076
  }
32095
32077
  }
32096
- Step.jsonID("replaceAround", ReplaceAroundStep);
32078
+ Step$1.jsonID("replaceAround", ReplaceAroundStep);
32097
32079
  function contentBetween(doc, from, to) {
32098
32080
  let $from = doc.resolve(from), dist = to - from, depth = $from.depth;
32099
32081
  while (dist > 0 && depth > 0 && $from.indexAfter(depth) == $from.node(depth).childCount) {
@@ -33017,7 +32999,7 @@ so this becomes the fallback color for the slot */ ''}
33017
32999
  /**
33018
33000
  Update an attribute in a specific node.
33019
33001
  */
33020
- class AttrStep extends Step {
33002
+ class AttrStep extends Step$1 {
33021
33003
  /**
33022
33004
  Construct an attribute step.
33023
33005
  */
@@ -33067,11 +33049,11 @@ so this becomes the fallback color for the slot */ ''}
33067
33049
  return new AttrStep(json.pos, json.attr, json.value);
33068
33050
  }
33069
33051
  }
33070
- Step.jsonID("attr", AttrStep);
33052
+ Step$1.jsonID("attr", AttrStep);
33071
33053
  /**
33072
33054
  Update an attribute in the doc node.
33073
33055
  */
33074
- class DocAttrStep extends Step {
33056
+ class DocAttrStep extends Step$1 {
33075
33057
  /**
33076
33058
  Construct an attribute step.
33077
33059
  */
@@ -33112,7 +33094,7 @@ so this becomes the fallback color for the slot */ ''}
33112
33094
  return new DocAttrStep(json.attr, json.value);
33113
33095
  }
33114
33096
  }
33115
- Step.jsonID("docAttr", DocAttrStep);
33097
+ Step$1.jsonID("docAttr", DocAttrStep);
33116
33098
 
33117
33099
  /**
33118
33100
  @internal
@@ -46784,7 +46766,7 @@ ${renderedContent}
46784
46766
  // src/index.ts
46785
46767
  var index_default$7 = HardBreak;
46786
46768
 
46787
- const styles$D = css `
46769
+ const styles$F = css `
46788
46770
  ${display$2('inline')}
46789
46771
 
46790
46772
  .positioning-region {
@@ -46821,7 +46803,7 @@ ${renderedContent}
46821
46803
  baseName: 'toolbar',
46822
46804
  baseClass: Toolbar$1,
46823
46805
  template: toolbarTemplate,
46824
- styles: styles$D
46806
+ styles: styles$F
46825
46807
  });
46826
46808
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleToolbar());
46827
46809
  const toolbarTag = 'nimble-toolbar';
@@ -46850,8 +46832,8 @@ ${renderedContent}
46850
46832
  cssCustomPropertyName: null
46851
46833
  }).withDefault(richTextLabelDefaults.richTextToggleNumberedListLabel);
46852
46834
 
46853
- const styles$C = css `
46854
- ${styles$S}
46835
+ const styles$E = css `
46836
+ ${styles$U}
46855
46837
 
46856
46838
  :host {
46857
46839
  height: auto;
@@ -46869,7 +46851,7 @@ ${renderedContent}
46869
46851
  }
46870
46852
  `;
46871
46853
 
46872
- const template$z = html `
46854
+ const template$B = html `
46873
46855
  <template>
46874
46856
  <${anchoredRegionTag}
46875
46857
  ${ref('region')}
@@ -47157,15 +47139,15 @@ ${renderedContent}
47157
47139
  ], RichTextMentionListbox.prototype, "anchorElement", void 0);
47158
47140
  const nimbleRichTextMentionListbox = RichTextMentionListbox.compose({
47159
47141
  baseName: 'rich-text-mention-listbox',
47160
- template: template$z,
47161
- styles: styles$C
47142
+ template: template$B,
47143
+ styles: styles$E
47162
47144
  });
47163
47145
  DesignSystem.getOrCreate()
47164
47146
  .withPrefix('nimble')
47165
47147
  .register(nimbleRichTextMentionListbox());
47166
47148
  const richTextMentionListboxTag = 'nimble-rich-text-mention-listbox';
47167
47149
 
47168
- const template$y = html `
47150
+ const template$A = html `
47169
47151
  <template
47170
47152
  ${children$1({ property: 'childItems', filter: elements() })}
47171
47153
  @focusout="${x => x.focusoutHandler()}"
@@ -47267,9 +47249,9 @@ ${renderedContent}
47267
47249
  </template>
47268
47250
  `;
47269
47251
 
47270
- const styles$B = css `
47252
+ const styles$D = css `
47271
47253
  ${display$2('inline-flex')}
47272
- ${styles$V}
47254
+ ${styles$X}
47273
47255
 
47274
47256
  :host {
47275
47257
  font: ${bodyFont};
@@ -63643,8 +63625,8 @@ ${nextLine.slice(indentLevel + 2)}`;
63643
63625
  applyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);
63644
63626
  const nimbleRichTextEditor = RichTextEditor.compose({
63645
63627
  baseName: 'rich-text-editor',
63646
- template: template$y,
63647
- styles: styles$B,
63628
+ template: template$A,
63629
+ styles: styles$D,
63648
63630
  shadowOptions: {
63649
63631
  delegatesFocus: true
63650
63632
  }
@@ -63653,13 +63635,13 @@ ${nextLine.slice(indentLevel + 2)}`;
63653
63635
  .withPrefix('nimble')
63654
63636
  .register(nimbleRichTextEditor());
63655
63637
 
63656
- const template$x = html `
63638
+ const template$z = html `
63657
63639
  <template ${children$1({ property: 'childItems', filter: elements() })}>
63658
63640
  <div ${ref('viewer')} class="viewer"></div>
63659
63641
  </template>
63660
63642
  `;
63661
63643
 
63662
- const styles$A = css `
63644
+ const styles$C = css `
63663
63645
  ${display$2('flex')}
63664
63646
 
63665
63647
  :host {
@@ -63772,17 +63754,17 @@ ${nextLine.slice(indentLevel + 2)}`;
63772
63754
  ], RichTextViewer.prototype, "markdown", void 0);
63773
63755
  const nimbleRichTextViewer = RichTextViewer.compose({
63774
63756
  baseName: 'rich-text-viewer',
63775
- template: template$x,
63776
- styles: styles$A
63757
+ template: template$z,
63758
+ styles: styles$C
63777
63759
  });
63778
63760
  DesignSystem.getOrCreate()
63779
63761
  .withPrefix('nimble')
63780
63762
  .register(nimbleRichTextViewer());
63781
63763
 
63782
- const styles$z = css `
63783
- ${styles$S}
63784
- ${styles$V}
63785
- ${styles$R}
63764
+ const styles$B = css `
63765
+ ${styles$U}
63766
+ ${styles$X}
63767
+ ${styles$T}
63786
63768
 
63787
63769
  ${
63788
63770
  /* We are using flex `order` to define the visual ordering of the selected value,
@@ -63945,7 +63927,7 @@ ${nextLine.slice(indentLevel + 2)}`;
63945
63927
  }
63946
63928
  `));
63947
63929
 
63948
- const styles$y = css `
63930
+ const styles$A = css `
63949
63931
  ${display$2('inline-grid')}
63950
63932
 
63951
63933
  :host {
@@ -64115,7 +64097,7 @@ ${nextLine.slice(indentLevel + 2)}`;
64115
64097
  }
64116
64098
  `));
64117
64099
 
64118
- const template$w = html `
64100
+ const template$y = html `
64119
64101
  <template role="progressbar">
64120
64102
  ${''
64121
64103
  /**
@@ -64162,8 +64144,8 @@ ${nextLine.slice(indentLevel + 2)}`;
64162
64144
  ], Spinner.prototype, "appearance", void 0);
64163
64145
  const nimbleSpinner = Spinner.compose({
64164
64146
  baseName: 'spinner',
64165
- template: template$w,
64166
- styles: styles$y
64147
+ template: template$y,
64148
+ styles: styles$A
64167
64149
  });
64168
64150
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSpinner());
64169
64151
  const spinnerTag = 'nimble-spinner';
@@ -64179,7 +64161,7 @@ ${nextLine.slice(indentLevel + 2)}`;
64179
64161
  <slot ${ref('labelSlot')}></slot>
64180
64162
  </label>
64181
64163
  `);
64182
- const template$v = (context, definition) => html `
64164
+ const template$x = (context, definition) => html `
64183
64165
  <template
64184
64166
  class="${x => [
64185
64167
  x.collapsible && 'collapsible',
@@ -65395,8 +65377,8 @@ ${nextLine.slice(indentLevel + 2)}`;
65395
65377
  const nimbleSelect = Select.compose({
65396
65378
  baseName: 'select',
65397
65379
  baseClass: Select$2,
65398
- template: template$v,
65399
- styles: styles$z,
65380
+ template: template$x,
65381
+ styles: styles$B,
65400
65382
  indicator: arrowExpanderDown16X16.data,
65401
65383
  end: html `
65402
65384
  <${iconExclamationMarkTag}
@@ -65409,6 +65391,46 @@ ${nextLine.slice(indentLevel + 2)}`;
65409
65391
  applyMixins(Select, StartEnd, DelegatesARIASelect);
65410
65392
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
65411
65393
 
65394
+ const styles$z = css `
65395
+ ${display$2('flex')}
65396
+ `;
65397
+
65398
+ const template$w = html `
65399
+ <template>step</template>
65400
+ `;
65401
+
65402
+ /**
65403
+ * A nimble-styled step for a stepper
65404
+ */
65405
+ class Step extends FoundationElement {
65406
+ }
65407
+ const nimbleStep = Step.compose({
65408
+ baseName: 'step',
65409
+ template: template$w,
65410
+ styles: styles$z
65411
+ });
65412
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleStep());
65413
+
65414
+ const styles$y = css `
65415
+ ${display$2('flex')}
65416
+ `;
65417
+
65418
+ const template$v = html `
65419
+ <template>stepper: <slot></slot></template>
65420
+ `;
65421
+
65422
+ /**
65423
+ * A nimble-styled stepper
65424
+ */
65425
+ class Stepper extends FoundationElement {
65426
+ }
65427
+ const nimbleStepper = Stepper.compose({
65428
+ baseName: 'stepper',
65429
+ template: template$v,
65430
+ styles: styles$y
65431
+ });
65432
+ DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleStepper());
65433
+
65412
65434
  const styles$x = css `
65413
65435
  ${display$2('inline-flex')}
65414
65436
 
@@ -77652,7 +77674,7 @@ focus outline in that case.
77652
77674
  .register(nimbleTableColumnText());
77653
77675
 
77654
77676
  const styles$g = css `
77655
- ${styles$13}
77677
+ ${styles$15}
77656
77678
 
77657
77679
  .tabpanel {
77658
77680
  overflow: auto;
@@ -77733,7 +77755,7 @@ focus outline in that case.
77733
77755
  const nimbleTabs = Tabs.compose({
77734
77756
  baseName: 'tabs',
77735
77757
  baseClass: Tabs$1,
77736
- template: template$P,
77758
+ template: template$R,
77737
77759
  styles: styles$g
77738
77760
  });
77739
77761
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());
@@ -77815,8 +77837,8 @@ focus outline in that case.
77815
77837
 
77816
77838
  const styles$e = css `
77817
77839
  ${display$2('inline-flex')}
77818
- ${styles$V}
77819
- ${styles$R}
77840
+ ${styles$X}
77841
+ ${styles$T}
77820
77842
 
77821
77843
  :host {
77822
77844
  font: ${bodyFont};
@@ -78176,8 +78198,8 @@ focus outline in that case.
78176
78198
 
78177
78199
  const styles$d = css `
78178
78200
  ${display$2('inline-block')}
78179
- ${styles$V}
78180
- ${styles$R}
78201
+ ${styles$X}
78202
+ ${styles$T}
78181
78203
 
78182
78204
  :host {
78183
78205
  font: ${bodyFont};