@ni/ok-components 1.13.0 → 1.15.0

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 (31) hide show
  1. package/dist/all-components-bundle.js +587 -449
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2814 -2902
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/custom-elements.json +433 -243
  6. package/dist/custom-elements.md +67 -44
  7. package/dist/esm/fv/all-fv.d.ts +1 -0
  8. package/dist/esm/fv/all-fv.js +1 -0
  9. package/dist/esm/fv/all-fv.js.map +1 -1
  10. package/dist/esm/fv/split-button/styles.js +45 -5
  11. package/dist/esm/fv/split-button/styles.js.map +1 -1
  12. package/dist/esm/fv/split-button/template.js +3 -1
  13. package/dist/esm/fv/split-button/template.js.map +1 -1
  14. package/dist/esm/fv/split-button-anchor/index.d.ts +2 -2
  15. package/dist/esm/fv/split-button-anchor/index.js +4 -4
  16. package/dist/esm/fv/split-button-anchor/index.js.map +1 -1
  17. package/dist/esm/fv/split-button-anchor/styles.d.ts +1 -1
  18. package/dist/esm/fv/split-button-anchor/styles.js +1 -227
  19. package/dist/esm/fv/split-button-anchor/styles.js.map +1 -1
  20. package/dist/esm/fv/split-button-anchor/template.js +9 -4
  21. package/dist/esm/fv/split-button-anchor/template.js.map +1 -1
  22. package/dist/esm/fv/toolbar/index.d.ts +36 -0
  23. package/dist/esm/fv/toolbar/index.js +253 -0
  24. package/dist/esm/fv/toolbar/index.js.map +1 -0
  25. package/dist/esm/fv/toolbar/styles.d.ts +1 -0
  26. package/dist/esm/fv/toolbar/styles.js +39 -0
  27. package/dist/esm/fv/toolbar/styles.js.map +1 -0
  28. package/dist/esm/fv/toolbar/template.d.ts +4 -0
  29. package/dist/esm/fv/toolbar/template.js +40 -0
  30. package/dist/esm/fv/toolbar/template.js.map +1 -0
  31. package/package.json +1 -1
@@ -14980,7 +14980,7 @@
14980
14980
  const prefix = 'ni-nimble';
14981
14981
  const styleNameFromTokenName = (tokenName) => `${prefix}-${tokenName}`;
14982
14982
 
14983
- const template$1r = html `<slot></slot>`;
14983
+ const template$1s = html `<slot></slot>`;
14984
14984
 
14985
14985
  const styles$1H = css `
14986
14986
  ${display$2('contents')}
@@ -15110,7 +15110,7 @@
15110
15110
  const nimbleDesignSystemProvider = ThemeProvider.compose({
15111
15111
  baseName: 'theme-provider',
15112
15112
  styles: styles$1H,
15113
- template: template$1r
15113
+ template: template$1s
15114
15114
  });
15115
15115
  DesignSystem.getOrCreate()
15116
15116
  .withPrefix('nimble')
@@ -16863,7 +16863,7 @@
16863
16863
  }
16864
16864
  `;
16865
16865
 
16866
- const template$1q = (_context, definition) => html `${
16866
+ const template$1r = (_context, definition) => html `${
16867
16867
  /* top-container div is necessary because setting contenteditable directly on the native anchor instead
16868
16868
  leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.
16869
16869
  */ ''}<div
@@ -16966,7 +16966,7 @@
16966
16966
  const nimbleAnchor = Anchor.compose({
16967
16967
  baseName: 'anchor',
16968
16968
  baseClass: Anchor$1,
16969
- template: template$1q,
16969
+ template: template$1r,
16970
16970
  styles: styles$1G,
16971
16971
  shadowOptions: {
16972
16972
  delegatesFocus: true
@@ -17381,7 +17381,7 @@
17381
17381
  }
17382
17382
  `;
17383
17383
 
17384
- const template$1p = (context, definition) => html `
17384
+ const template$1q = (context, definition) => html `
17385
17385
  <a
17386
17386
  class="control"
17387
17387
  part="control"
@@ -17463,7 +17463,7 @@
17463
17463
  ], AnchorButton.prototype, "disabled", void 0);
17464
17464
  const nimbleAnchorButton = AnchorButton.compose({
17465
17465
  baseName: 'anchor-button',
17466
- template: template$1p,
17466
+ template: template$1q,
17467
17467
  styles: styles$1E,
17468
17468
  shadowOptions: {
17469
17469
  delegatesFocus: true
@@ -17555,7 +17555,7 @@
17555
17555
  }
17556
17556
  `;
17557
17557
 
17558
- const template$1o = (context, definition) => html `
17558
+ const template$1p = (context, definition) => html `
17559
17559
  <template
17560
17560
  role="menuitem"
17561
17561
  class="${x => (typeof x.startColumnCount === 'number'
@@ -17656,7 +17656,7 @@
17656
17656
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
17657
17657
  const nimbleAnchorMenuItem = AnchorMenuItem.compose({
17658
17658
  baseName: 'anchor-menu-item',
17659
- template: template$1o,
17659
+ template: template$1p,
17660
17660
  styles: styles$1D,
17661
17661
  shadowOptions: {
17662
17662
  delegatesFocus: true
@@ -19568,7 +19568,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19568
19568
  };
19569
19569
 
19570
19570
  // Avoiding any whitespace in the template because this is an inline element
19571
- const template$1n = html `<div
19571
+ const template$1o = html `<div
19572
19572
  class="icon"
19573
19573
  aria-hidden="true"
19574
19574
  :innerHTML=${x => x.icon.data}
@@ -19637,7 +19637,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19637
19637
  const registerIconSvg = (baseName, iconClass) => {
19638
19638
  const composedIcon = iconClass.compose({
19639
19639
  baseName,
19640
- template: template$1n,
19640
+ template: template$1o,
19641
19641
  styles: styles$1z
19642
19642
  });
19643
19643
  DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
@@ -19762,7 +19762,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19762
19762
  */
19763
19763
  const StepperOrientation = Orientation;
19764
19764
 
19765
- const template$1m = (context, definition) => html `
19765
+ const template$1n = (context, definition) => html `
19766
19766
  <template slot="step">
19767
19767
  <li class="
19768
19768
  container
@@ -19909,7 +19909,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
19909
19909
  ], AnchorStep.prototype, "tabIndex", void 0);
19910
19910
  const nimbleAnchorStep = AnchorStep.compose({
19911
19911
  baseName: 'anchor-step',
19912
- template: template$1m,
19912
+ template: template$1n,
19913
19913
  styles: styles$1A,
19914
19914
  shadowOptions: {
19915
19915
  delegatesFocus: true
@@ -20034,7 +20034,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20034
20034
  }
20035
20035
  `;
20036
20036
 
20037
- const template$1l = (context, definition) => html `
20037
+ const template$1m = (context, definition) => html `
20038
20038
  <template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
20039
20039
  <a
20040
20040
  download="${x => x.download}"
@@ -20086,7 +20086,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20086
20086
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
20087
20087
  const nimbleAnchorTab = AnchorTab.compose({
20088
20088
  baseName: 'anchor-tab',
20089
- template: template$1l,
20089
+ template: template$1m,
20090
20090
  styles: styles$1y,
20091
20091
  shadowOptions: {
20092
20092
  delegatesFocus: true
@@ -20139,7 +20139,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20139
20139
  ${buttonAppearanceVariantStyles}
20140
20140
  `;
20141
20141
 
20142
- const template$1k = (context, definition) => html `
20142
+ const template$1l = (context, definition) => html `
20143
20143
  <button
20144
20144
  class="control"
20145
20145
  part="control"
@@ -20230,7 +20230,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20230
20230
  const nimbleButton = Button.compose({
20231
20231
  baseName: 'button',
20232
20232
  baseClass: Button$1,
20233
- template: template$1k,
20233
+ template: template$1l,
20234
20234
  styles: styles$1w,
20235
20235
  shadowOptions: {
20236
20236
  delegatesFocus: true
@@ -20265,7 +20265,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20265
20265
  registerIconSvg('icon-arrow-expander-right', IconArrowExpanderRight);
20266
20266
  const iconArrowExpanderRightTag = 'nimble-icon-arrow-expander-right';
20267
20267
 
20268
- const template$1j = (context, definition) => html `
20268
+ const template$1k = (context, definition) => html `
20269
20269
  <div
20270
20270
  class="tab-bar"
20271
20271
  >
@@ -20566,7 +20566,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20566
20566
  applyMixins(AnchorTabs, StartEnd);
20567
20567
  const nimbleAnchorTabs = AnchorTabs.compose({
20568
20568
  baseName: 'anchor-tabs',
20569
- template: template$1j,
20569
+ template: template$1k,
20570
20570
  styles: styles$1x,
20571
20571
  shadowOptions: {
20572
20572
  delegatesFocus: false
@@ -20679,7 +20679,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20679
20679
  }
20680
20680
  `;
20681
20681
 
20682
- const template$1i = (context, definition) => html `
20682
+ const template$1j = (context, definition) => html `
20683
20683
  <template
20684
20684
  role="treeitem"
20685
20685
  slot="${x => (x.isNestedItem() ? 'item' : null)}"
@@ -20816,7 +20816,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
20816
20816
  // FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
20817
20817
  const nimbleAnchorTreeItem = AnchorTreeItem.compose({
20818
20818
  baseName: 'anchor-tree-item',
20819
- template: template$1i,
20819
+ template: template$1j,
20820
20820
  styles: styles$1v,
20821
20821
  shadowOptions: {
20822
20822
  delegatesFocus: true
@@ -21038,7 +21038,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
21038
21038
  information: 'information'
21039
21039
  };
21040
21040
 
21041
- const template$1h = html `
21041
+ const template$1i = html `
21042
21042
  <${themeProviderTag} theme="${Theme.color}">
21043
21043
  <div class="container"
21044
21044
  role="status"
@@ -21156,7 +21156,7 @@ Defines an interaction area clip-path that leaves out the severity text so it is
21156
21156
  applyMixins(Banner, ARIAGlobalStatesAndProperties);
21157
21157
  const nimbleBanner = Banner.compose({
21158
21158
  baseName: 'banner',
21159
- template: template$1h,
21159
+ template: template$1i,
21160
21160
  styles: styles$1t
21161
21161
  });
21162
21162
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
@@ -21435,7 +21435,7 @@ so this becomes the fallback color for the slot */ ''}
21435
21435
  }
21436
21436
  `;
21437
21437
 
21438
- const template$1g = html `
21438
+ const template$1h = html `
21439
21439
  <section aria-labelledby="title-slot">
21440
21440
  <span id="title-slot"><slot name="title"></slot></span>
21441
21441
  <slot></slot>
@@ -21450,7 +21450,7 @@ so this becomes the fallback color for the slot */ ''}
21450
21450
  const nimbleCard = Card.compose({
21451
21451
  baseName: 'card',
21452
21452
  baseClass: Card$1,
21453
- template: template$1g,
21453
+ template: template$1h,
21454
21454
  styles: styles$1q
21455
21455
  });
21456
21456
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCard());
@@ -21797,7 +21797,7 @@ so this becomes the fallback color for the slot */ ''}
21797
21797
  </div>
21798
21798
  `;
21799
21799
 
21800
- const template$1f = (_context, definition) => html `
21800
+ const template$1g = (_context, definition) => html `
21801
21801
  <template
21802
21802
  role="checkbox"
21803
21803
  aria-checked="${x => x.checked}"
@@ -21894,7 +21894,7 @@ so this becomes the fallback color for the slot */ ''}
21894
21894
  const nimbleCheckbox = Checkbox.compose({
21895
21895
  baseName: 'checkbox',
21896
21896
  baseClass: Checkbox$1,
21897
- template: template$1f,
21897
+ template: template$1g,
21898
21898
  styles: styles$1n,
21899
21899
  checkedIndicator: check16X16.data,
21900
21900
  indeterminateIndicator: minus16X16.data
@@ -21968,7 +21968,7 @@ so this becomes the fallback color for the slot */ ''}
21968
21968
  }
21969
21969
  `));
21970
21970
 
21971
- const template$1e = (context, definition) => html `
21971
+ const template$1f = (context, definition) => html `
21972
21972
  ${startSlotTemplate(context, definition)}
21973
21973
  <span
21974
21974
  class="content"
@@ -22054,7 +22054,7 @@ so this becomes the fallback color for the slot */ ''}
22054
22054
  applyMixins(Chip, StartEnd);
22055
22055
  const nimbleChip = Chip.compose({
22056
22056
  baseName: 'chip',
22057
- template: template$1e,
22057
+ template: template$1f,
22058
22058
  styles: styles$1m,
22059
22059
  shadowOptions: {
22060
22060
  delegatesFocus: true
@@ -22111,7 +22111,7 @@ so this becomes the fallback color for the slot */ ''}
22111
22111
  }
22112
22112
  `));
22113
22113
 
22114
- const template$1d = (context, definition) => html `
22114
+ const template$1e = (context, definition) => html `
22115
22115
  <div
22116
22116
  role="button"
22117
22117
  part="control"
@@ -22206,7 +22206,7 @@ so this becomes the fallback color for the slot */ ''}
22206
22206
  applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
22207
22207
  const nimbleToggleButton = ToggleButton.compose({
22208
22208
  baseName: 'toggle-button',
22209
- template: template$1d,
22209
+ template: template$1e,
22210
22210
  styles: styles$1l,
22211
22211
  shadowOptions: {
22212
22212
  delegatesFocus: true
@@ -22685,7 +22685,7 @@ so this becomes the fallback color for the slot */ ''}
22685
22685
  <slot></slot>
22686
22686
  </label>
22687
22687
  `);
22688
- const template$1c = (context, definition) => html `
22688
+ const template$1d = (context, definition) => html `
22689
22689
  <template
22690
22690
  aria-disabled="${x => x.ariaDisabled}"
22691
22691
  autocomplete="${x => x.autocomplete}"
@@ -23460,7 +23460,7 @@ so this becomes the fallback color for the slot */ ''}
23460
23460
  const nimbleCombobox = Combobox.compose({
23461
23461
  baseName: 'combobox',
23462
23462
  baseClass: FormAssociatedCombobox,
23463
- template: template$1c,
23463
+ template: template$1d,
23464
23464
  styles: styles$1i,
23465
23465
  shadowOptions: {
23466
23466
  delegatesFocus: true
@@ -23598,7 +23598,7 @@ so this becomes the fallback color for the slot */ ''}
23598
23598
  }
23599
23599
  `;
23600
23600
 
23601
- const template$1b = html `
23601
+ const template$1c = html `
23602
23602
  <template>
23603
23603
  <dialog
23604
23604
  ${ref('dialogElement')}
@@ -23746,7 +23746,7 @@ so this becomes the fallback color for the slot */ ''}
23746
23746
  applyMixins(Dialog, ARIAGlobalStatesAndProperties);
23747
23747
  const nimbleDialog = Dialog.compose({
23748
23748
  baseName: 'dialog',
23749
- template: template$1b,
23749
+ template: template$1c,
23750
23750
  styles: styles$1h,
23751
23751
  baseClass: Dialog
23752
23752
  });
@@ -23895,7 +23895,7 @@ so this becomes the fallback color for the slot */ ''}
23895
23895
  }
23896
23896
  `;
23897
23897
 
23898
- const template$1a = html `
23898
+ const template$1b = html `
23899
23899
  <dialog
23900
23900
  ${ref('dialog')}
23901
23901
  aria-label="${x => x.ariaLabel}"
@@ -24037,7 +24037,7 @@ so this becomes the fallback color for the slot */ ''}
24037
24037
  applyMixins(Drawer, ARIAGlobalStatesAndProperties);
24038
24038
  const nimbleDrawer = Drawer.compose({
24039
24039
  baseName: 'drawer',
24040
- template: template$1a,
24040
+ template: template$1b,
24041
24041
  styles: styles$1g
24042
24042
  });
24043
24043
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
@@ -27336,7 +27336,7 @@ so this becomes the fallback color for the slot */ ''}
27336
27336
  * The template for the {@link @ni/fast-foundation#(ListboxOption:class)} component.
27337
27337
  * @public
27338
27338
  */
27339
- const template$19 = (context, definition) => html `
27339
+ const template$1a = (context, definition) => html `
27340
27340
  <template
27341
27341
  aria-checked="${x => x.ariaChecked}"
27342
27342
  aria-disabled="${x => x.ariaDisabled}"
@@ -27438,7 +27438,7 @@ so this becomes the fallback color for the slot */ ''}
27438
27438
  const nimbleListOption = ListOption.compose({
27439
27439
  baseName: 'list-option',
27440
27440
  baseClass: ListboxOption,
27441
- template: template$19,
27441
+ template: template$1a,
27442
27442
  styles: styles$1e
27443
27443
  });
27444
27444
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
@@ -27506,7 +27506,7 @@ so this becomes the fallback color for the slot */ ''}
27506
27506
  const isListOption$1 = (n) => {
27507
27507
  return n instanceof ListOption;
27508
27508
  };
27509
- const template$18 = html `
27509
+ const template$19 = html `
27510
27510
  <template
27511
27511
  role="group"
27512
27512
  aria-label="${x => x.labelContent}"
@@ -27648,7 +27648,7 @@ so this becomes the fallback color for the slot */ ''}
27648
27648
  const nimbleListOptionGroup = ListOptionGroup.compose({
27649
27649
  baseName: 'list-option-group',
27650
27650
  baseClass: FoundationElement,
27651
- template: template$18,
27651
+ template: template$19,
27652
27652
  styles: styles$1d
27653
27653
  });
27654
27654
  DesignSystem.getOrCreate()
@@ -27676,7 +27676,7 @@ so this becomes the fallback color for the slot */ ''}
27676
27676
  attr()
27677
27677
  ], Mapping$1.prototype, "key", void 0);
27678
27678
 
27679
- const template$17 = html `<template slot="mapping"></template>`;
27679
+ const template$18 = html `<template slot="mapping"></template>`;
27680
27680
 
27681
27681
  const styles$1c = css `
27682
27682
  ${display$2('none')}
@@ -27694,7 +27694,7 @@ so this becomes the fallback color for the slot */ ''}
27694
27694
  ], MappingEmpty.prototype, "text", void 0);
27695
27695
  const emptyMapping = MappingEmpty.compose({
27696
27696
  baseName: 'mapping-empty',
27697
- template: template$17,
27697
+ template: template$18,
27698
27698
  styles: styles$1c
27699
27699
  });
27700
27700
  DesignSystem.getOrCreate().withPrefix('nimble').register(emptyMapping());
@@ -27765,7 +27765,7 @@ so this becomes the fallback color for the slot */ ''}
27765
27765
  ], MappingIcon.prototype, "resolvedIcon", void 0);
27766
27766
  const iconMapping = MappingIcon.compose({
27767
27767
  baseName: 'mapping-icon',
27768
- template: template$17,
27768
+ template: template$18,
27769
27769
  styles: styles$1c
27770
27770
  });
27771
27771
  DesignSystem.getOrCreate().withPrefix('nimble').register(iconMapping());
@@ -27789,7 +27789,7 @@ so this becomes the fallback color for the slot */ ''}
27789
27789
  ], MappingSpinner.prototype, "textHidden", void 0);
27790
27790
  const spinnerMapping = MappingSpinner.compose({
27791
27791
  baseName: 'mapping-spinner',
27792
- template: template$17,
27792
+ template: template$18,
27793
27793
  styles: styles$1c
27794
27794
  });
27795
27795
  DesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());
@@ -27806,7 +27806,7 @@ so this becomes the fallback color for the slot */ ''}
27806
27806
  ], MappingText.prototype, "text", void 0);
27807
27807
  const textMapping = MappingText.compose({
27808
27808
  baseName: 'mapping-text',
27809
- template: template$17,
27809
+ template: template$18,
27810
27810
  styles: styles$1c
27811
27811
  });
27812
27812
  DesignSystem.getOrCreate().withPrefix('nimble').register(textMapping());
@@ -28109,7 +28109,7 @@ so this becomes the fallback color for the slot */ ''}
28109
28109
  observable
28110
28110
  ], Menu$1.prototype, "itemIcons", void 0);
28111
28111
 
28112
- const template$16 = () => html `
28112
+ const template$17 = () => html `
28113
28113
  <template
28114
28114
  slot="${x => {
28115
28115
  if (x.slot) {
@@ -28197,7 +28197,7 @@ so this becomes the fallback color for the slot */ ''}
28197
28197
  const nimbleMenu = Menu.compose({
28198
28198
  baseName: 'menu',
28199
28199
  baseClass: Menu$1,
28200
- template: template$16,
28200
+ template: template$17,
28201
28201
  styles: styles$1b
28202
28202
  });
28203
28203
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
@@ -28233,7 +28233,7 @@ so this becomes the fallback color for the slot */ ''}
28233
28233
  }
28234
28234
  `;
28235
28235
 
28236
- const template$15 = html `
28236
+ const template$16 = html `
28237
28237
  <template
28238
28238
  ?open="${x => x.open}"
28239
28239
  @focusout="${(x, c) => x.focusoutHandler(c.event)}"
@@ -28483,7 +28483,7 @@ so this becomes the fallback color for the slot */ ''}
28483
28483
  ], MenuButton.prototype, "slottedMenus", void 0);
28484
28484
  const nimbleMenuButton = MenuButton.compose({
28485
28485
  baseName: 'menu-button',
28486
- template: template$15,
28486
+ template: template$16,
28487
28487
  styles: styles$1a,
28488
28488
  shadowOptions: {
28489
28489
  delegatesFocus: true
@@ -28839,7 +28839,7 @@ so this becomes the fallback color for the slot */ ''}
28839
28839
  * The template for the {@link @ni/fast-foundation#(NumberField:class)} component.
28840
28840
  * @public
28841
28841
  */
28842
- const template$14 = (context, definition) => html `
28842
+ const template$15 = (context, definition) => html `
28843
28843
  <template class="${x => (x.readOnly ? 'readonly' : '')}">
28844
28844
  ${labelTemplate$4}
28845
28845
  <div class="root" part="root">
@@ -28993,7 +28993,7 @@ so this becomes the fallback color for the slot */ ''}
28993
28993
  const nimbleNumberField = NumberField.compose({
28994
28994
  baseName: 'number-field',
28995
28995
  baseClass: NumberField$1,
28996
- template: template$14,
28996
+ template: template$15,
28997
28997
  styles: styles$18,
28998
28998
  shadowOptions: {
28999
28999
  delegatesFocus: true
@@ -29184,7 +29184,7 @@ so this becomes the fallback color for the slot */ ''}
29184
29184
  `;
29185
29185
 
29186
29186
  const labelTemplate$3 = createRequiredVisibleLabelTemplate(html `<slot name="label"></slot>`);
29187
- const template$13 = html `
29187
+ const template$14 = html `
29188
29188
  <template
29189
29189
  role="radiogroup"
29190
29190
  aria-disabled="${x => x.disabled}"
@@ -29224,7 +29224,7 @@ so this becomes the fallback color for the slot */ ''}
29224
29224
  const nimbleRadioGroup = RadioGroup.compose({
29225
29225
  baseName: 'radio-group',
29226
29226
  baseClass: RadioGroup$1,
29227
- template: template$13,
29227
+ template: template$14,
29228
29228
  styles: styles$16,
29229
29229
  shadowOptions: {
29230
29230
  delegatesFocus: true
@@ -50241,7 +50241,7 @@ img.ProseMirror-separator {
50241
50241
  }
50242
50242
  `;
50243
50243
 
50244
- const template$12 = html `
50244
+ const template$13 = html `
50245
50245
  <template>
50246
50246
  <${anchoredRegionTag}
50247
50247
  ${ref('region')}
@@ -50529,7 +50529,7 @@ img.ProseMirror-separator {
50529
50529
  ], RichTextMentionListbox.prototype, "anchorElement", void 0);
50530
50530
  const nimbleRichTextMentionListbox = RichTextMentionListbox.compose({
50531
50531
  baseName: 'rich-text-mention-listbox',
50532
- template: template$12,
50532
+ template: template$13,
50533
50533
  styles: styles$14
50534
50534
  });
50535
50535
  DesignSystem.getOrCreate()
@@ -50537,7 +50537,7 @@ img.ProseMirror-separator {
50537
50537
  .register(nimbleRichTextMentionListbox());
50538
50538
  const richTextMentionListboxTag = 'nimble-rich-text-mention-listbox';
50539
50539
 
50540
- const template$11 = html `
50540
+ const template$12 = html `
50541
50541
  <template
50542
50542
  ${children$1({ property: 'childItems', filter: elements() })}
50543
50543
  @focusout="${x => x.focusoutHandler()}"
@@ -69512,7 +69512,7 @@ img.ProseMirror-separator {
69512
69512
  applyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);
69513
69513
  const nimbleRichTextEditor = RichTextEditor.compose({
69514
69514
  baseName: 'rich-text-editor',
69515
- template: template$11,
69515
+ template: template$12,
69516
69516
  styles: styles$13,
69517
69517
  shadowOptions: {
69518
69518
  delegatesFocus: true
@@ -69522,7 +69522,7 @@ img.ProseMirror-separator {
69522
69522
  .withPrefix('nimble')
69523
69523
  .register(nimbleRichTextEditor());
69524
69524
 
69525
- const template$10 = html `
69525
+ const template$11 = html `
69526
69526
  <template ${children$1({ property: 'childItems', filter: elements() })}>
69527
69527
  <div ${ref('viewer')} class="viewer"></div>
69528
69528
  </template>
@@ -69641,7 +69641,7 @@ img.ProseMirror-separator {
69641
69641
  ], RichTextViewer.prototype, "markdown", void 0);
69642
69642
  const nimbleRichTextViewer = RichTextViewer.compose({
69643
69643
  baseName: 'rich-text-viewer',
69644
- template: template$10,
69644
+ template: template$11,
69645
69645
  styles: styles$12
69646
69646
  });
69647
69647
  DesignSystem.getOrCreate()
@@ -69984,7 +69984,7 @@ img.ProseMirror-separator {
69984
69984
  }
69985
69985
  `));
69986
69986
 
69987
- const template$$ = html `
69987
+ const template$10 = html `
69988
69988
  <template role="progressbar">
69989
69989
  ${''
69990
69990
  /**
@@ -70031,7 +70031,7 @@ img.ProseMirror-separator {
70031
70031
  ], Spinner.prototype, "appearance", void 0);
70032
70032
  const nimbleSpinner = Spinner.compose({
70033
70033
  baseName: 'spinner',
70034
- template: template$$,
70034
+ template: template$10,
70035
70035
  styles: styles$10
70036
70036
  });
70037
70037
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSpinner());
@@ -70048,7 +70048,7 @@ img.ProseMirror-separator {
70048
70048
  <slot ${ref('labelSlot')}></slot>
70049
70049
  </label>
70050
70050
  `);
70051
- const template$_ = (context, definition) => html `
70051
+ const template$$ = (context, definition) => html `
70052
70052
  <template
70053
70053
  class="${x => [
70054
70054
  x.collapsible && 'collapsible',
@@ -71260,7 +71260,7 @@ img.ProseMirror-separator {
71260
71260
  const nimbleSelect = Select.compose({
71261
71261
  baseName: 'select',
71262
71262
  baseClass: Select$2,
71263
- template: template$_,
71263
+ template: template$$,
71264
71264
  styles: styles$11,
71265
71265
  indicator: arrowExpanderDown16X16.data,
71266
71266
  end: html `
@@ -71286,7 +71286,7 @@ img.ProseMirror-separator {
71286
71286
  }
71287
71287
  `;
71288
71288
 
71289
- const template$Z = (context, definition) => html `
71289
+ const template$_ = (context, definition) => html `
71290
71290
  <template slot="step">
71291
71291
  <li class="
71292
71292
  container
@@ -71408,7 +71408,7 @@ img.ProseMirror-separator {
71408
71408
  ], Step.prototype, "tabIndex", void 0);
71409
71409
  const nimbleStep = Step.compose({
71410
71410
  baseName: 'step',
71411
- template: template$Z,
71411
+ template: template$_,
71412
71412
  styles: styles$$,
71413
71413
  shadowOptions: {
71414
71414
  delegatesFocus: true
@@ -71487,7 +71487,7 @@ img.ProseMirror-separator {
71487
71487
  }
71488
71488
  `;
71489
71489
 
71490
- const template$Y = html `
71490
+ const template$Z = html `
71491
71491
  ${when(x => x.showScrollButtons, html `
71492
71492
  <${buttonTag}
71493
71493
  content-hidden
@@ -71632,7 +71632,7 @@ img.ProseMirror-separator {
71632
71632
  ], Stepper.prototype, "steps", void 0);
71633
71633
  const nimbleStepper = Stepper.compose({
71634
71634
  baseName: 'stepper',
71635
- template: template$Y,
71635
+ template: template$Z,
71636
71636
  styles: styles$_
71637
71637
  });
71638
71638
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleStepper());
@@ -71867,7 +71867,7 @@ img.ProseMirror-separator {
71867
71867
  }
71868
71868
  `));
71869
71869
 
71870
- const template$X = html `
71870
+ const template$Y = html `
71871
71871
  <template
71872
71872
  role="switch"
71873
71873
  aria-checked="${x => x.checked}"
@@ -71911,7 +71911,7 @@ img.ProseMirror-separator {
71911
71911
  const nimbleSwitch = Switch.compose({
71912
71912
  baseClass: Switch$1,
71913
71913
  baseName: 'switch',
71914
- template: template$X,
71914
+ template: template$Y,
71915
71915
  styles: styles$Z
71916
71916
  });
71917
71917
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSwitch());
@@ -76064,7 +76064,7 @@ focus outline in that case.
76064
76064
  }
76065
76065
  `;
76066
76066
 
76067
- const template$W = html `
76067
+ const template$X = html `
76068
76068
  <template role="columnheader"
76069
76069
  class="${x => (x.alignment === TableColumnAlignment.right ? 'right-align' : '')}"
76070
76070
  aria-sort="${x => x.ariaSort}"
@@ -76150,7 +76150,7 @@ focus outline in that case.
76150
76150
  ], TableHeader.prototype, "isGrouped", void 0);
76151
76151
  const nimbleTableHeader = TableHeader.compose({
76152
76152
  baseName: 'table-header',
76153
- template: template$W,
76153
+ template: template$X,
76154
76154
  styles: styles$V
76155
76155
  });
76156
76156
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableHeader());
@@ -76474,7 +76474,7 @@ focus outline in that case.
76474
76474
  }
76475
76475
  `;
76476
76476
 
76477
- const template$V = html `
76477
+ const template$W = html `
76478
76478
  <template role="cell" style="--ni-private-table-cell-nesting-level: ${x => x.nestingLevel}"
76479
76479
  @focusin="${x => x.onCellFocusIn()}"
76480
76480
  @blur="${x => x.onCellBlur()}"
@@ -76571,7 +76571,7 @@ focus outline in that case.
76571
76571
  ], TableCell.prototype, "nestingLevel", void 0);
76572
76572
  const nimbleTableCell = TableCell.compose({
76573
76573
  baseName: 'table-cell',
76574
- template: template$V,
76574
+ template: template$W,
76575
76575
  styles: styles$S
76576
76576
  });
76577
76577
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableCell());
@@ -76608,7 +76608,7 @@ focus outline in that case.
76608
76608
  `)}
76609
76609
  </${tableCellTag}>
76610
76610
  `;
76611
- const template$U = html `
76611
+ const template$V = html `
76612
76612
  <template
76613
76613
  role="row"
76614
76614
  aria-selected=${x => x.ariaSelected}
@@ -76984,7 +76984,7 @@ focus outline in that case.
76984
76984
  ], TableRow.prototype, "ariaSelected", null);
76985
76985
  const nimbleTableRow = TableRow.compose({
76986
76986
  baseName: 'table-row',
76987
- template: template$U,
76987
+ template: template$V,
76988
76988
  styles: styles$T
76989
76989
  });
76990
76990
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableRow());
@@ -77165,7 +77165,7 @@ focus outline in that case.
77165
77165
  }
77166
77166
  `));
77167
77167
 
77168
- const template$T = html `
77168
+ const template$U = html `
77169
77169
  <template
77170
77170
  role="row"
77171
77171
  @click=${x => x.onGroupExpandToggle()}
@@ -77341,7 +77341,7 @@ focus outline in that case.
77341
77341
  ], TableGroupRow.prototype, "allowHover", void 0);
77342
77342
  const nimbleTableGroupRow = TableGroupRow.compose({
77343
77343
  baseName: 'table-group-row',
77344
- template: template$T,
77344
+ template: template$U,
77345
77345
  styles: styles$R
77346
77346
  });
77347
77347
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTableGroupRow());
@@ -77362,7 +77362,7 @@ focus outline in that case.
77362
77362
  <slot name="${x => x.slot}"></slot>
77363
77363
  </${tableHeaderTag}>
77364
77364
  `;
77365
- const template$S = html `
77365
+ const template$T = html `
77366
77366
  <template
77367
77367
  role="treegrid"
77368
77368
  ${'' /* tabindex managed dynamically by KeyboardNavigationManager */}
@@ -82735,7 +82735,7 @@ focus outline in that case.
82735
82735
  ], Table$1.prototype, "windowShiftKeyDown", void 0);
82736
82736
  const nimbleTable = Table$1.compose({
82737
82737
  baseName: 'table',
82738
- template: template$S,
82738
+ template: template$T,
82739
82739
  styles: styles$W
82740
82740
  });
82741
82741
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTable());
@@ -82752,7 +82752,7 @@ focus outline in that case.
82752
82752
 
82753
82753
  // Avoiding a wrapping <template> and be careful about starting and ending whitspace
82754
82754
  // so the template can be composed into other column header templates
82755
- const template$R = html `<span
82755
+ const template$S = html `<span
82756
82756
  ${overflow('hasOverflow')}
82757
82757
  class="header-content"
82758
82758
  title=${x => (x.hasOverflow && x.headerTextContent ? x.headerTextContent : null)}
@@ -82848,7 +82848,7 @@ focus outline in that case.
82848
82848
  }
82849
82849
  `;
82850
82850
 
82851
- const template$Q = html `
82851
+ const template$R = html `
82852
82852
  <template
82853
82853
  @click="${(x, c) => {
82854
82854
  if (typeof x.cellRecord?.href === 'string') {
@@ -82940,7 +82940,7 @@ focus outline in that case.
82940
82940
  ], TableColumnAnchorCellView.prototype, "showAnchor", null);
82941
82941
  const anchorCellView = TableColumnAnchorCellView.compose({
82942
82942
  baseName: 'table-column-anchor-cell-view',
82943
- template: template$Q,
82943
+ template: template$R,
82944
82944
  styles: styles$P
82945
82945
  });
82946
82946
  DesignSystem.getOrCreate().withPrefix('nimble').register(anchorCellView());
@@ -83018,7 +83018,7 @@ focus outline in that case.
83018
83018
  observable
83019
83019
  ], TableColumnTextGroupHeaderViewBase.prototype, "text", void 0);
83020
83020
 
83021
- const template$P = html `
83021
+ const template$Q = html `
83022
83022
  <span
83023
83023
  ${overflow('hasOverflow')}
83024
83024
  title="${x => (x.hasOverflow && x.text ? x.text : null)}"
@@ -83051,7 +83051,7 @@ focus outline in that case.
83051
83051
  }
83052
83052
  const tableColumnTextGroupHeaderView = TableColumnTextGroupHeaderView.compose({
83053
83053
  baseName: 'table-column-text-group-header-view',
83054
- template: template$P,
83054
+ template: template$Q,
83055
83055
  styles: styles$O
83056
83056
  });
83057
83057
  DesignSystem.getOrCreate()
@@ -83296,7 +83296,7 @@ focus outline in that case.
83296
83296
  ], TableColumnAnchor.prototype, "download", void 0);
83297
83297
  const nimbleTableColumnAnchor = TableColumnAnchor.compose({
83298
83298
  baseName: 'table-column-anchor',
83299
- template: template$R,
83299
+ template: template$S,
83300
83300
  styles: styles$Q
83301
83301
  });
83302
83302
  DesignSystem.getOrCreate()
@@ -83335,7 +83335,7 @@ focus outline in that case.
83335
83335
  }
83336
83336
  const tableColumnDateTextGroupHeaderView = TableColumnDateTextGroupHeaderView.compose({
83337
83337
  baseName: 'table-column-date-text-group-header-view',
83338
- template: template$P,
83338
+ template: template$Q,
83339
83339
  styles: styles$O
83340
83340
  });
83341
83341
  DesignSystem.getOrCreate()
@@ -83343,7 +83343,7 @@ focus outline in that case.
83343
83343
  .register(tableColumnDateTextGroupHeaderView());
83344
83344
  const tableColumnDateTextGroupHeaderViewTag = 'nimble-table-column-date-text-group-header-view';
83345
83345
 
83346
- const template$O = html `
83346
+ const template$P = html `
83347
83347
  <template
83348
83348
  class="
83349
83349
  ${x => (x.alignment === TableColumnAlignment.right ? 'right-align' : '')}
@@ -83461,7 +83461,7 @@ focus outline in that case.
83461
83461
  }
83462
83462
  const dateTextCellView = TableColumnDateTextCellView.compose({
83463
83463
  baseName: 'table-column-date-text-cell-view',
83464
- template: template$O,
83464
+ template: template$P,
83465
83465
  styles: styles$N
83466
83466
  });
83467
83467
  DesignSystem.getOrCreate().withPrefix('nimble').register(dateTextCellView());
@@ -83796,7 +83796,7 @@ focus outline in that case.
83796
83796
  ], TableColumnDateText.prototype, "customHourCycle", void 0);
83797
83797
  const nimbleTableColumnDateText = TableColumnDateText.compose({
83798
83798
  baseName: 'table-column-date-text',
83799
- template: template$R,
83799
+ template: template$S,
83800
83800
  styles: styles$Q
83801
83801
  });
83802
83802
  DesignSystem.getOrCreate()
@@ -83813,7 +83813,7 @@ focus outline in that case.
83813
83813
  }
83814
83814
  const durationTextCellView = TableColumnDurationTextCellView.compose({
83815
83815
  baseName: 'table-column-duration-text-cell-view',
83816
- template: template$O,
83816
+ template: template$P,
83817
83817
  styles: styles$N
83818
83818
  });
83819
83819
  DesignSystem.getOrCreate()
@@ -83915,7 +83915,7 @@ focus outline in that case.
83915
83915
  }
83916
83916
  const tableColumnDurationTextGroupHeaderView = TableColumnDurationTextGroupHeaderView.compose({
83917
83917
  baseName: 'table-column-duration-text-group-header-view',
83918
- template: template$P,
83918
+ template: template$Q,
83919
83919
  styles: styles$O
83920
83920
  });
83921
83921
  DesignSystem.getOrCreate()
@@ -83968,7 +83968,7 @@ focus outline in that case.
83968
83968
  }
83969
83969
  const nimbleTableColumnDurationText = TableColumnDurationText.compose({
83970
83970
  baseName: 'table-column-duration-text',
83971
- template: template$R,
83971
+ template: template$S,
83972
83972
  styles: styles$Q
83973
83973
  });
83974
83974
  DesignSystem.getOrCreate()
@@ -84085,7 +84085,7 @@ focus outline in that case.
84085
84085
  }
84086
84086
  `;
84087
84087
 
84088
- const template$N = html `${template$R}<slot ${slotted('mappings')} name="mapping"></slot>`;
84088
+ const template$O = html `${template$S}<slot ${slotted('mappings')} name="mapping"></slot>`;
84089
84089
 
84090
84090
  // As the returned class is internal to the function, we can't write a signature that uses is directly, so rely on inference
84091
84091
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
@@ -84212,7 +84212,7 @@ focus outline in that case.
84212
84212
  }
84213
84213
  `;
84214
84214
 
84215
- const template$M = html `
84215
+ const template$N = html `
84216
84216
  ${when(x => x.visualizationTemplate, html `
84217
84217
  <span class="reserve-icon-size">
84218
84218
  ${x => x.visualizationTemplate}
@@ -84356,7 +84356,7 @@ focus outline in that case.
84356
84356
  ], TableColumnMappingGroupHeaderView.prototype, "visualizationTemplate", void 0);
84357
84357
  const mappingGroupHeaderView = TableColumnMappingGroupHeaderView.compose({
84358
84358
  baseName: 'table-column-mapping-group-header-view',
84359
- template: template$M,
84359
+ template: template$N,
84360
84360
  styles: styles$L
84361
84361
  });
84362
84362
  DesignSystem.getOrCreate()
@@ -84388,7 +84388,7 @@ focus outline in that case.
84388
84388
  }
84389
84389
  `;
84390
84390
 
84391
- const template$L = html `
84391
+ const template$M = html `
84392
84392
  ${when(x => x.visualizationTemplate, html `
84393
84393
  <span class="reserve-icon-size">
84394
84394
  ${x => x.visualizationTemplate}
@@ -84475,7 +84475,7 @@ focus outline in that case.
84475
84475
  ], TableColumnMappingCellView.prototype, "hasOverflow", void 0);
84476
84476
  const mappingCellView = TableColumnMappingCellView.compose({
84477
84477
  baseName: 'table-column-mapping-cell-view',
84478
- template: template$L,
84478
+ template: template$M,
84479
84479
  styles: styles$K
84480
84480
  });
84481
84481
  DesignSystem.getOrCreate().withPrefix('nimble').register(mappingCellView());
@@ -84559,23 +84559,23 @@ focus outline in that case.
84559
84559
  ], TableColumnMapping.prototype, "widthMode", void 0);
84560
84560
  const nimbleTableColumnMapping = TableColumnMapping.compose({
84561
84561
  baseName: 'table-column-mapping',
84562
- template: template$N,
84562
+ template: template$O,
84563
84563
  styles: styles$M
84564
84564
  });
84565
84565
  DesignSystem.getOrCreate()
84566
84566
  .withPrefix('nimble')
84567
84567
  .register(nimbleTableColumnMapping());
84568
84568
 
84569
- const template$K = html `
84569
+ const template$L = html `
84570
84570
  <template @delegated-event="${(x, c) => x.onDelegatedEvent(c.event)}"
84571
- >${template$R}</template
84571
+ >${template$S}</template
84572
84572
  >
84573
84573
  `;
84574
84574
 
84575
84575
  /** @internal */
84576
84576
  const cellViewMenuSlotName = 'menu-button-menu';
84577
84577
 
84578
- const template$J = html `
84578
+ const template$K = html `
84579
84579
  ${when(x => x.showMenuButton, html `
84580
84580
  <${menuButtonTag}
84581
84581
  ${ref('menuButton')}
@@ -84669,7 +84669,7 @@ focus outline in that case.
84669
84669
  ], TableColumnMenuButtonCellView.prototype, "showMenuButton", null);
84670
84670
  const menuButtonCellView = TableColumnMenuButtonCellView.compose({
84671
84671
  baseName: 'table-column-menu-button-cell-view',
84672
- template: template$J,
84672
+ template: template$K,
84673
84673
  styles: styles$J
84674
84674
  });
84675
84675
  DesignSystem.getOrCreate().withPrefix('nimble').register(menuButtonCellView());
@@ -84725,7 +84725,7 @@ focus outline in that case.
84725
84725
  ], TableColumnMenuButton.prototype, "menuSlot", void 0);
84726
84726
  const nimbleTableColumnMenuButton = TableColumnMenuButton.compose({
84727
84727
  baseName: 'table-column-menu-button',
84728
- template: template$K,
84728
+ template: template$L,
84729
84729
  styles: styles$Q
84730
84730
  });
84731
84731
  DesignSystem.getOrCreate()
@@ -84734,7 +84734,7 @@ focus outline in that case.
84734
84734
 
84735
84735
  // Avoiding a wrapping <template> and be careful about starting and ending whitespace
84736
84736
  // so the template can be composed into other column header templates
84737
- const template$I = html `<span
84737
+ const template$J = html `<span
84738
84738
  ${overflow('hasOverflow')}
84739
84739
  class="header-content"
84740
84740
  title=${x => (x.hasOverflow && x.headerTextContent ? x.headerTextContent : null)}
@@ -84753,7 +84753,7 @@ focus outline in that case.
84753
84753
  }
84754
84754
  const tableColumnNumberTextGroupHeaderView = TableColumnNumberTextGroupHeaderView.compose({
84755
84755
  baseName: 'table-column-number-text-group-header-view',
84756
- template: template$P,
84756
+ template: template$Q,
84757
84757
  styles: styles$O
84758
84758
  });
84759
84759
  DesignSystem.getOrCreate()
@@ -84775,7 +84775,7 @@ focus outline in that case.
84775
84775
  }
84776
84776
  const numberTextCellView = TableColumnNumberTextCellView.compose({
84777
84777
  baseName: 'table-column-number-text-cell-view',
84778
- template: template$O,
84778
+ template: template$P,
84779
84779
  styles: styles$N
84780
84780
  });
84781
84781
  DesignSystem.getOrCreate().withPrefix('nimble').register(numberTextCellView());
@@ -85316,7 +85316,7 @@ focus outline in that case.
85316
85316
  ], TableColumnNumberText.prototype, "unit", void 0);
85317
85317
  const nimbleTableColumnNumberText = TableColumnNumberText.compose({
85318
85318
  baseName: 'table-column-number-text',
85319
- template: template$I,
85319
+ template: template$J,
85320
85320
  styles: styles$Q
85321
85321
  });
85322
85322
  DesignSystem.getOrCreate()
@@ -85335,7 +85335,7 @@ focus outline in that case.
85335
85335
  }
85336
85336
  const textCellView = TableColumnTextCellView.compose({
85337
85337
  baseName: 'table-column-text-cell-view',
85338
- template: template$O,
85338
+ template: template$P,
85339
85339
  styles: styles$N
85340
85340
  });
85341
85341
  DesignSystem.getOrCreate().withPrefix('nimble').register(textCellView());
@@ -85390,7 +85390,7 @@ focus outline in that case.
85390
85390
  }
85391
85391
  const nimbleTableColumnText = TableColumnText.compose({
85392
85392
  baseName: 'table-column-text',
85393
- template: template$R,
85393
+ template: template$S,
85394
85394
  styles: styles$Q
85395
85395
  });
85396
85396
  DesignSystem.getOrCreate()
@@ -85479,7 +85479,7 @@ focus outline in that case.
85479
85479
  const nimbleTabs = Tabs.compose({
85480
85480
  baseName: 'tabs',
85481
85481
  baseClass: Tabs$1,
85482
- template: template$1j,
85482
+ template: template$1k,
85483
85483
  styles: styles$I
85484
85484
  });
85485
85485
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());
@@ -85516,7 +85516,7 @@ focus outline in that case.
85516
85516
  }
85517
85517
  `;
85518
85518
 
85519
- const template$H = (context, definition) => html `
85519
+ const template$I = (context, definition) => html `
85520
85520
  <template slot="end">
85521
85521
  ${when(x => x.defaultSlottedElements.length > 0, html `
85522
85522
  <div class="separator"></div>
@@ -85548,7 +85548,7 @@ focus outline in that case.
85548
85548
  ], TabsToolbar.prototype, "defaultSlottedElements", void 0);
85549
85549
  const nimbleTabsToolbar = TabsToolbar.compose({
85550
85550
  baseName: 'tabs-toolbar',
85551
- template: template$H,
85551
+ template: template$I,
85552
85552
  styles: styles$H
85553
85553
  });
85554
85554
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabsToolbar());
@@ -85757,7 +85757,7 @@ focus outline in that case.
85757
85757
  <slot ${slotted('defaultSlottedNodes')}></slot>
85758
85758
  </label>
85759
85759
  `);
85760
- const template$G = () => html `
85760
+ const template$H = () => html `
85761
85761
  ${labelTemplate$1}
85762
85762
  <div class="container">
85763
85763
  <textarea
@@ -85905,7 +85905,7 @@ focus outline in that case.
85905
85905
  const nimbleTextArea = TextArea.compose({
85906
85906
  baseName: 'text-area',
85907
85907
  baseClass: TextArea$1,
85908
- template: template$G,
85908
+ template: template$H,
85909
85909
  styles: styles$G,
85910
85910
  shadowOptions: {
85911
85911
  delegatesFocus: true
@@ -86203,7 +86203,7 @@ focus outline in that case.
86203
86203
  * The template for the {@link @ni/fast-foundation#(TextField:class)} component.
86204
86204
  * @public
86205
86205
  */
86206
- const template$F = (context, definition) => html `
86206
+ const template$G = (context, definition) => html `
86207
86207
  <template
86208
86208
  class="
86209
86209
  ${x => (x.readOnly ? 'readonly' : '')}
@@ -86292,7 +86292,7 @@ focus outline in that case.
86292
86292
  const nimbleTextField = TextField.compose({
86293
86293
  baseName: 'text-field',
86294
86294
  baseClass: TextField$1,
86295
- template: template$F,
86295
+ template: template$G,
86296
86296
  styles: styles$F,
86297
86297
  shadowOptions: {
86298
86298
  delegatesFocus: true
@@ -86396,7 +86396,7 @@ focus outline in that case.
86396
86396
  }
86397
86397
  `));
86398
86398
 
86399
- const template$E = html `
86399
+ const template$F = html `
86400
86400
  ${when(x => x.tooltipVisible, html `
86401
86401
  <${anchoredRegionTag}
86402
86402
  class="anchored-region"
@@ -86448,7 +86448,7 @@ focus outline in that case.
86448
86448
  const nimbleTooltip = Tooltip.compose({
86449
86449
  baseName: 'tooltip',
86450
86450
  baseClass: Tooltip$1,
86451
- template: template$E,
86451
+ template: template$F,
86452
86452
  styles: styles$E
86453
86453
  });
86454
86454
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTooltip());
@@ -86774,7 +86774,7 @@ focus outline in that case.
86774
86774
  }
86775
86775
  `;
86776
86776
 
86777
- const template$D = html `
86777
+ const template$E = html `
86778
86778
  <template
86779
86779
  role="tree"
86780
86780
  ${ref('treeView')}
@@ -86870,7 +86870,7 @@ focus outline in that case.
86870
86870
  const nimbleTreeView = TreeView.compose({
86871
86871
  baseName: 'tree-view',
86872
86872
  baseClass: TreeView$1,
86873
- template: template$D,
86873
+ template: template$E,
86874
86874
  styles: styles$C
86875
86875
  });
86876
86876
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTreeView());
@@ -86987,7 +86987,7 @@ focus outline in that case.
86987
86987
  }
86988
86988
  const unitScaleByte = new UnitScaleByte();
86989
86989
 
86990
- const template$C = html `<template slot="unit"></template>`;
86990
+ const template$D = html `<template slot="unit"></template>`;
86991
86991
 
86992
86992
  const styles$B = css `
86993
86993
  ${display$2('none')}
@@ -87017,7 +87017,7 @@ focus outline in that case.
87017
87017
  ], UnitByte.prototype, "binary", void 0);
87018
87018
  const nimbleUnitByte = UnitByte.compose({
87019
87019
  baseName: 'unit-byte',
87020
- template: template$C,
87020
+ template: template$D,
87021
87021
  styles: styles$B
87022
87022
  });
87023
87023
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleUnitByte());
@@ -87070,7 +87070,7 @@ focus outline in that case.
87070
87070
  }
87071
87071
  const nimbleUnitVolt = UnitVolt.compose({
87072
87072
  baseName: 'unit-volt',
87073
- template: template$C,
87073
+ template: template$D,
87074
87074
  styles: styles$B
87075
87075
  });
87076
87076
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleUnitVolt());
@@ -102115,7 +102115,7 @@ focus outline in that case.
102115
102115
  return new Table(reader.readAll());
102116
102116
  }
102117
102117
 
102118
- const template$B = html `
102118
+ const template$C = html `
102119
102119
  <div class="wafer-map-container">
102120
102120
  <svg class="svg-root">
102121
102121
  <g ${ref('zoomContainer')} transform=${x => x.transform.toString()}>
@@ -105173,7 +105173,7 @@ focus outline in that case.
105173
105173
  ], WaferMap.prototype, "colorScale", void 0);
105174
105174
  const nimbleWaferMap = WaferMap.compose({
105175
105175
  baseName: 'wafer-map',
105176
- template: template$B,
105176
+ template: template$C,
105177
105177
  styles: styles$A
105178
105178
  });
105179
105179
  DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleWaferMap());
@@ -105276,7 +105276,7 @@ focus outline in that case.
105276
105276
  }
105277
105277
  `;
105278
105278
 
105279
- const template$A = html `
105279
+ const template$B = html `
105280
105280
  <div class="toolbar ${x => (x.toolbarEmpty ? 'toolbar-empty' : '')}">
105281
105281
  <slot name="toolbar" ${slotted({ property: 'slottedToolbarElements' })}></slot>
105282
105282
  </div>
@@ -105676,7 +105676,7 @@ focus outline in that case.
105676
105676
  ], ChatConversation.prototype, "slottedEndElements", void 0);
105677
105677
  const sprightChatConversation = ChatConversation.compose({
105678
105678
  baseName: 'chat-conversation',
105679
- template: template$A,
105679
+ template: template$B,
105680
105680
  styles: styles$z
105681
105681
  });
105682
105682
  DesignSystem.getOrCreate()
@@ -105843,7 +105843,7 @@ focus outline in that case.
105843
105843
  cssCustomPropertyName: null
105844
105844
  }).withDefault(chatLabelDefaults.chatStopLabel);
105845
105845
 
105846
- const template$z = html `
105846
+ const template$A = html `
105847
105847
  <div class="container">
105848
105848
  <section class="attachments ${x => (x.attachmentsIsEmpty ? '' : 'has-content')}">
105849
105849
  <slot
@@ -106089,7 +106089,7 @@ focus outline in that case.
106089
106089
  ], ChatInput.prototype, "slottedAttachmentsElements", void 0);
106090
106090
  const sprightChatInput = ChatInput.compose({
106091
106091
  baseName: 'chat-input',
106092
- template: template$z,
106092
+ template: template$A,
106093
106093
  styles: styles$y,
106094
106094
  shadowOptions: {
106095
106095
  delegatesFocus: true
@@ -106182,7 +106182,7 @@ focus outline in that case.
106182
106182
  }
106183
106183
  `;
106184
106184
 
106185
- const template$y = (context, definition) => html `
106185
+ const template$z = (context, definition) => html `
106186
106186
  <div class="container">
106187
106187
  ${startSlotTemplate(context, definition)}
106188
106188
  <section class="message-content">
@@ -106231,7 +106231,7 @@ focus outline in that case.
106231
106231
  applyMixins(ChatMessage, StartEnd);
106232
106232
  const sprightChatMessage = ChatMessage.compose({
106233
106233
  baseName: 'chat-message',
106234
- template: template$y,
106234
+ template: template$z,
106235
106235
  styles: styles$x
106236
106236
  });
106237
106237
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightChatMessage());
@@ -106298,7 +106298,7 @@ focus outline in that case.
106298
106298
  }
106299
106299
  `;
106300
106300
 
106301
- const template$x = (context, definition) => html `
106301
+ const template$y = (context, definition) => html `
106302
106302
  <div class="container">
106303
106303
  ${startSlotTemplate(context, definition)}
106304
106304
  <section class="message-content">
@@ -106338,7 +106338,7 @@ focus outline in that case.
106338
106338
  applyMixins(ChatMessageInbound, StartEnd);
106339
106339
  const sprightChatMessageInbound = ChatMessageInbound.compose({
106340
106340
  baseName: 'chat-message-inbound',
106341
- template: template$x,
106341
+ template: template$y,
106342
106342
  styles: styles$w
106343
106343
  });
106344
106344
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightChatMessageInbound());
@@ -106378,7 +106378,7 @@ focus outline in that case.
106378
106378
  }
106379
106379
  `;
106380
106380
 
106381
- const template$w = () => html `
106381
+ const template$x = () => html `
106382
106382
  <div class="container">
106383
106383
  <section class="message-content">
106384
106384
  <slot></slot>
@@ -106400,7 +106400,7 @@ focus outline in that case.
106400
106400
  }
106401
106401
  const sprightChatMessageOutbound = ChatMessageOutbound.compose({
106402
106402
  baseName: 'chat-message-outbound',
106403
- template: template$w,
106403
+ template: template$x,
106404
106404
  styles: styles$v
106405
106405
  });
106406
106406
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightChatMessageOutbound());
@@ -106436,7 +106436,7 @@ focus outline in that case.
106436
106436
  }
106437
106437
  `;
106438
106438
 
106439
- const template$v = () => html `
106439
+ const template$w = () => html `
106440
106440
  <div class="container">
106441
106441
  <section class="message-content">
106442
106442
  <slot></slot>
@@ -106456,7 +106456,7 @@ focus outline in that case.
106456
106456
  }
106457
106457
  const sprightChatMessageSystem = ChatMessageSystem.compose({
106458
106458
  baseName: 'chat-message-system',
106459
- template: template$v,
106459
+ template: template$w,
106460
106460
  styles: styles$u
106461
106461
  });
106462
106462
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightChatMessageSystem());
@@ -106572,7 +106572,7 @@ focus outline in that case.
106572
106572
  <path class="nigel-chat-dark-0" d="M11.36,7.6l-.03.02c-1.12.61-2.04,1.53-2.65,2.65l-.02.03c-.1.18-.35.18-.45,0l-.02-.03c-.61-1.12-1.53-2.04-2.65-2.65l-.03-.02c-.18-.1-.18-.35,0-.45l.03-.02c1.12-.61,2.04-1.53,2.65-2.65l.02-.03c.1-.18.35-.18.45,0l.02.03c.61,1.12,1.53,2.04,2.65,2.65l.03.02c.18.1.18.35,0,.45Z"/>
106573
106573
  </svg>`;
106574
106574
 
106575
- const template$u = html `
106575
+ const template$v = html `
106576
106576
  <div class="icon light-icon" aria-hidden="true" :innerHTML="${() => nigelChatLightData}"></div>
106577
106577
  <div class="icon dark-icon" aria-hidden="true" :innerHTML="${() => nigelChatDarkData}"></div>
106578
106578
  `;
@@ -106601,7 +106601,7 @@ focus outline in that case.
106601
106601
  }
106602
106602
  const sprightIconNigelChat = IconNigelChat.compose({
106603
106603
  baseName: 'icon-nigel-chat',
106604
- template: template$u,
106604
+ template: template$v,
106605
106605
  styles: styles$s
106606
106606
  });
106607
106607
  DesignSystem.getOrCreate()
@@ -106609,7 +106609,7 @@ focus outline in that case.
106609
106609
  .register(sprightIconNigelChat());
106610
106610
  const iconNigelChatTag = 'spright-icon-nigel-chat';
106611
106611
 
106612
- const template$t = () => html `
106612
+ const template$u = () => html `
106613
106613
  <div class="container">
106614
106614
  <div class="brand-icon">
106615
106615
  <slot name="brand-icon">
@@ -106655,7 +106655,7 @@ focus outline in that case.
106655
106655
  ], ChatMessageWelcome.prototype, "subtitleIsEmpty", void 0);
106656
106656
  const sprightChatMessageWelcome = ChatMessageWelcome.compose({
106657
106657
  baseName: 'chat-message-welcome',
106658
- template: template$t,
106658
+ template: template$u,
106659
106659
  styles: styles$t
106660
106660
  });
106661
106661
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightChatMessageWelcome());
@@ -106677,12 +106677,12 @@ focus outline in that case.
106677
106677
  */
106678
106678
  class IconBreakpointConditional extends Icon {
106679
106679
  }
106680
- const template$s = html `
106680
+ const template$t = html `
106681
106681
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$6}"></div>
106682
106682
  `;
106683
106683
  const sprightIconBreakpointConditional = IconBreakpointConditional.compose({
106684
106684
  baseName: 'icon-breakpoint-conditional',
106685
- template: template$s,
106685
+ template: template$t,
106686
106686
  styles: styles$1z
106687
106687
  });
106688
106688
  DesignSystem.getOrCreate()
@@ -106708,12 +106708,12 @@ focus outline in that case.
106708
106708
  */
106709
106709
  class IconBreakpointDisabled extends Icon {
106710
106710
  }
106711
- const template$r = html `
106711
+ const template$s = html `
106712
106712
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$5}"></div>
106713
106713
  `;
106714
106714
  const sprightIconBreakpointDisabled = IconBreakpointDisabled.compose({
106715
106715
  baseName: 'icon-breakpoint-disabled',
106716
- template: template$r,
106716
+ template: template$s,
106717
106717
  styles: styles$1z
106718
106718
  });
106719
106719
  DesignSystem.getOrCreate()
@@ -106738,12 +106738,12 @@ focus outline in that case.
106738
106738
  */
106739
106739
  class IconBreakpointEnabled extends Icon {
106740
106740
  }
106741
- const template$q = html `
106741
+ const template$r = html `
106742
106742
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$4}"></div>
106743
106743
  `;
106744
106744
  const sprightIconBreakpointEnabled = IconBreakpointEnabled.compose({
106745
106745
  baseName: 'icon-breakpoint-enabled',
106746
- template: template$q,
106746
+ template: template$r,
106747
106747
  styles: styles$1z
106748
106748
  });
106749
106749
  DesignSystem.getOrCreate()
@@ -106768,12 +106768,12 @@ focus outline in that case.
106768
106768
  */
106769
106769
  class IconBreakpointExecutionPointer extends Icon {
106770
106770
  }
106771
- const template$p = html `
106771
+ const template$q = html `
106772
106772
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$3}"></div>
106773
106773
  `;
106774
106774
  const sprightIconBreakpointExecutionPointer = IconBreakpointExecutionPointer.compose({
106775
106775
  baseName: 'icon-breakpoint-execution-pointer',
106776
- template: template$p,
106776
+ template: template$q,
106777
106777
  styles: styles$1z
106778
106778
  });
106779
106779
  DesignSystem.getOrCreate()
@@ -106802,12 +106802,12 @@ focus outline in that case.
106802
106802
  */
106803
106803
  class IconBreakpointHitDisabled extends Icon {
106804
106804
  }
106805
- const template$o = html `
106805
+ const template$p = html `
106806
106806
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$2}"></div>
106807
106807
  `;
106808
106808
  const sprightIconBreakpointHitDisabled = IconBreakpointHitDisabled.compose({
106809
106809
  baseName: 'icon-breakpoint-hit-disabled',
106810
- template: template$o,
106810
+ template: template$p,
106811
106811
  styles: styles$1z
106812
106812
  });
106813
106813
  DesignSystem.getOrCreate()
@@ -106837,12 +106837,12 @@ focus outline in that case.
106837
106837
  */
106838
106838
  class IconBreakpointHit extends Icon {
106839
106839
  }
106840
- const template$n = html `
106840
+ const template$o = html `
106841
106841
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData$1}"></div>
106842
106842
  `;
106843
106843
  const sprightIconBreakpointHit = IconBreakpointHit.compose({
106844
106844
  baseName: 'icon-breakpoint-hit',
106845
- template: template$n,
106845
+ template: template$o,
106846
106846
  styles: styles$1z
106847
106847
  });
106848
106848
  DesignSystem.getOrCreate()
@@ -106868,12 +106868,12 @@ focus outline in that case.
106868
106868
  */
106869
106869
  class IconBreakpointHover extends Icon {
106870
106870
  }
106871
- const template$m = html `
106871
+ const template$n = html `
106872
106872
  <div class="icon" aria-hidden="true" :innerHTML="${() => iconData}"></div>
106873
106873
  `;
106874
106874
  const sprightIconBreakpointHover = IconBreakpointHover.compose({
106875
106875
  baseName: 'icon-breakpoint-hover',
106876
- template: template$m,
106876
+ template: template$n,
106877
106877
  styles: styles$1z
106878
106878
  });
106879
106879
  DesignSystem.getOrCreate()
@@ -106899,7 +106899,7 @@ focus outline in that case.
106899
106899
  }
106900
106900
  const sprightIconWorkItemCalendarWeek = IconWorkItemCalendarWeek.compose({
106901
106901
  baseName: 'icon-work-item-calendar-week',
106902
- template: template$1n,
106902
+ template: template$1o,
106903
106903
  styles: styles$r
106904
106904
  });
106905
106905
  DesignSystem.getOrCreate()
@@ -106924,7 +106924,7 @@ focus outline in that case.
106924
106924
  }
106925
106925
  const sprightIconWorkItemCalipers = IconWorkItemCalipers.compose({
106926
106926
  baseName: 'icon-work-item-calipers',
106927
- template: template$1n,
106927
+ template: template$1o,
106928
106928
  styles: styles$q
106929
106929
  });
106930
106930
  DesignSystem.getOrCreate()
@@ -106949,7 +106949,7 @@ focus outline in that case.
106949
106949
  }
106950
106950
  const sprightIconWorkItemForklift = IconWorkItemForklift.compose({
106951
106951
  baseName: 'icon-work-item-forklift',
106952
- template: template$1n,
106952
+ template: template$1o,
106953
106953
  styles: styles$p
106954
106954
  });
106955
106955
  DesignSystem.getOrCreate()
@@ -106974,7 +106974,7 @@ focus outline in that case.
106974
106974
  }
106975
106975
  const sprightIconWorkItemRectangleCheckLines = IconWorkItemRectangleCheckLines.compose({
106976
106976
  baseName: 'icon-work-item-rectangle-check-lines',
106977
- template: template$1n,
106977
+ template: template$1o,
106978
106978
  styles: styles$o
106979
106979
  });
106980
106980
  DesignSystem.getOrCreate()
@@ -106999,7 +106999,7 @@ focus outline in that case.
106999
106999
  }
107000
107000
  const sprightIconWorkItemSquareListCog = IconWorkItemSquareListCog.compose({
107001
107001
  baseName: 'icon-work-item-square-list-cog',
107002
- template: template$1n,
107002
+ template: template$1o,
107003
107003
  styles: styles$n
107004
107004
  });
107005
107005
  DesignSystem.getOrCreate()
@@ -107024,7 +107024,7 @@ focus outline in that case.
107024
107024
  }
107025
107025
  const sprightIconWorkItemUserHelmetSafety = IconWorkItemUserHelmetSafety.compose({
107026
107026
  baseName: 'icon-work-item-user-helmet-safety',
107027
- template: template$1n,
107027
+ template: template$1o,
107028
107028
  styles: styles$m
107029
107029
  });
107030
107030
  DesignSystem.getOrCreate()
@@ -107049,7 +107049,7 @@ focus outline in that case.
107049
107049
  }
107050
107050
  const sprightIconWorkItemWrenchHammer = IconWorkItemWrenchHammer.compose({
107051
107051
  baseName: 'icon-work-item-wrench-hammer',
107052
- template: template$1n,
107052
+ template: template$1o,
107053
107053
  styles: styles$l
107054
107054
  });
107055
107055
  DesignSystem.getOrCreate()
@@ -107108,7 +107108,7 @@ focus outline in that case.
107108
107108
  }
107109
107109
  `;
107110
107110
 
107111
- const template$l = html `<slot></slot>`;
107111
+ const template$m = html `<slot></slot>`;
107112
107112
 
107113
107113
  /**
107114
107114
  * A Spright demo component (not for production use)
@@ -107117,7 +107117,7 @@ focus outline in that case.
107117
107117
  }
107118
107118
  const sprightRectangle = Rectangle.compose({
107119
107119
  baseName: 'rectangle',
107120
- template: template$l,
107120
+ template: template$m,
107121
107121
  styles: styles$k
107122
107122
  });
107123
107123
  DesignSystem.getOrCreate().withPrefix('spright').register(sprightRectangle());
@@ -107251,7 +107251,7 @@ focus outline in that case.
107251
107251
  }
107252
107252
  `));
107253
107253
 
107254
- const template$k = html `
107254
+ const template$l = html `
107255
107255
  <details
107256
107256
  class="accordion-item-details"
107257
107257
  ?open="${x => x.expanded}"
@@ -107302,7 +107302,7 @@ focus outline in that case.
107302
107302
  ], FvAccordionItem.prototype, "appearance", void 0);
107303
107303
  const okFvAccordionItem = FvAccordionItem.compose({
107304
107304
  baseName: 'fv-accordion-item',
107305
- template: template$k,
107305
+ template: template$l,
107306
107306
  styles: styles$j
107307
107307
  });
107308
107308
  DesignSystem.getOrCreate()
@@ -107669,7 +107669,7 @@ focus outline in that case.
107669
107669
  </div>
107670
107670
  </div>
107671
107671
  `;
107672
- const template$j = html `
107672
+ const template$k = html `
107673
107673
  ${when(x => x.interactionMode === FvCardInteractionMode.card, html `
107674
107674
  <${cardButtonTag}
107675
107675
  class="card-shell card-button-shell"
@@ -107817,7 +107817,7 @@ focus outline in that case.
107817
107817
  ], FvCard.prototype, "hasFooterEndContent", void 0);
107818
107818
  const okFvCard = FvCard.compose({
107819
107819
  baseName: 'fv-card',
107820
- template: template$j,
107820
+ template: template$k,
107821
107821
  styles: styles$i
107822
107822
  });
107823
107823
  DesignSystem.getOrCreate()
@@ -107904,7 +107904,7 @@ focus outline in that case.
107904
107904
  }
107905
107905
  `;
107906
107906
 
107907
- const template$i = html `
107907
+ const template$j = html `
107908
107908
  <div class="field">
107909
107909
  <span class="marker" aria-hidden="true"></span>
107910
107910
  <div class="content">
@@ -108050,7 +108050,7 @@ focus outline in that case.
108050
108050
  ], FvBulkEditField.prototype, "controls", void 0);
108051
108051
  const okFvBulkEditField = FvBulkEditField.compose({
108052
108052
  baseName: 'fv-bulk-edit-field',
108053
- template: template$i,
108053
+ template: template$j,
108054
108054
  styles: styles$h
108055
108055
  });
108056
108056
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvBulkEditField());
@@ -108303,7 +108303,7 @@ focus outline in that case.
108303
108303
  @layer top {}
108304
108304
  `;
108305
108305
 
108306
- const template$h = html `
108306
+ const template$i = html `
108307
108307
  <div class="chip-selector">
108308
108308
  ${when(x => x.label.length > 0, html `
108309
108309
  <label id="${x => x.labelId}" class="label" for="${x => x.inputId}">
@@ -108793,7 +108793,7 @@ focus outline in that case.
108793
108793
  ], FvChipSelector.prototype, "field", void 0);
108794
108794
  const okFvChipSelector = FvChipSelector.compose({
108795
108795
  baseName: 'fv-chip-selector',
108796
- template: template$h,
108796
+ template: template$i,
108797
108797
  styles: styles$g
108798
108798
  });
108799
108799
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvChipSelector());
@@ -108850,7 +108850,7 @@ focus outline in that case.
108850
108850
  @layer top {}
108851
108851
  `;
108852
108852
 
108853
- const template$g = html `
108853
+ const template$h = html `
108854
108854
  <button
108855
108855
  id="${x => x.tooltipAnchorId}"
108856
108856
  class="context-help-trigger"
@@ -108898,7 +108898,7 @@ focus outline in that case.
108898
108898
  ], FvContextHelp.prototype, "iconVisible", void 0);
108899
108899
  const okFvContextHelp = FvContextHelp.compose({
108900
108900
  baseName: 'fv-context-help',
108901
- template: template$g,
108901
+ template: template$h,
108902
108902
  styles: styles$f
108903
108903
  });
108904
108904
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvContextHelp());
@@ -108965,7 +108965,7 @@ focus outline in that case.
108965
108965
  }
108966
108966
  `;
108967
108967
 
108968
- const template$f = html `
108968
+ const template$g = html `
108969
108969
  ${when(x => x.message !== undefined, html `
108970
108970
  <${bannerTag}
108971
108971
  :open="${x => x.message !== undefined}"
@@ -109086,7 +109086,7 @@ focus outline in that case.
109086
109086
  ], FvEditCommitBar.prototype, "summary", null);
109087
109087
  const okFvEditCommitBar = FvEditCommitBar.compose({
109088
109088
  baseName: 'fv-edit-commit-bar',
109089
- template: template$f,
109089
+ template: template$g,
109090
109090
  styles: styles$e
109091
109091
  });
109092
109092
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvEditCommitBar());
@@ -109208,7 +109208,7 @@ focus outline in that case.
109208
109208
  `;
109209
109209
 
109210
109210
  const queryTokenTemplate = html `${when(x => x.kind === 'predicate', html `<span class="query-expression"><b>${x => (x.kind === 'predicate' ? x.field : '')}</b> ${x => (x.kind === 'predicate' ? x.operator : '')}<b>${x => (x.kind === 'predicate' ? x.value : '')}</b></span>`)}${when(x => x.kind === 'logic', html `<span class="logical-operator">${x => (x.kind === 'logic' ? x.text : '')}</span>`)}${when(x => x.kind === 'group', html `<span class="compound-expression-container">${x => (x.kind === 'group' ? x.text : '')}</span>`)}`;
109211
- const template$e = html `
109211
+ const template$f = html `
109212
109212
  <div class="filter-bar" role="group" aria-label="${x => x.label}">
109213
109213
  <button
109214
109214
  ${ref('editButton')}
@@ -109347,7 +109347,7 @@ focus outline in that case.
109347
109347
  ], FvFilterBar.prototype, "queryTokens", null);
109348
109348
  const okFvFilterBar = FvFilterBar.compose({
109349
109349
  baseName: 'fv-filter-bar',
109350
- template: template$e,
109350
+ template: template$f,
109351
109351
  styles: styles$d
109352
109352
  });
109353
109353
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvFilterBar());
@@ -109449,7 +109449,7 @@ focus outline in that case.
109449
109449
  }
109450
109450
  `;
109451
109451
 
109452
- const template$d = html `
109452
+ const template$e = html `
109453
109453
  <div class="item" part="item">
109454
109454
  <div class="text" part="text">
109455
109455
  <div class="title" part="title">${x => x.titleText}</div>
@@ -109550,7 +109550,7 @@ focus outline in that case.
109550
109550
  ], FvMasterDetailListItem.prototype, "hasStatusSlotContent", void 0);
109551
109551
  const okFvMasterDetailListItem = FvMasterDetailListItem.compose({
109552
109552
  baseName: 'fv-master-detail-list-item',
109553
- template: template$d,
109553
+ template: template$e,
109554
109554
  styles: styles$c
109555
109555
  });
109556
109556
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvMasterDetailListItem());
@@ -109621,7 +109621,7 @@ focus outline in that case.
109621
109621
  }
109622
109622
  `;
109623
109623
 
109624
- const template$c = html `
109624
+ const template$d = html `
109625
109625
  <div class="master-detail-list">
109626
109626
  <div class="filter-row">
109627
109627
  <input
@@ -109815,7 +109815,7 @@ focus outline in that case.
109815
109815
  ], FvMasterDetailList.prototype, "items", void 0);
109816
109816
  const okFvMasterDetailList = FvMasterDetailList.compose({
109817
109817
  baseName: 'fv-master-detail-list',
109818
- template: template$c,
109818
+ template: template$d,
109819
109819
  styles: styles$b,
109820
109820
  shadowOptions: {
109821
109821
  delegatesFocus: true
@@ -109931,9 +109931,32 @@ focus outline in that case.
109931
109931
  }
109932
109932
 
109933
109933
  .split-button-primary {
109934
+ display: inline-flex;
109935
+ align-items: center;
109936
+ justify-content: center;
109934
109937
  padding: 0 ${standardPadding};
109935
109938
  padding-inline-end: ${mediumPadding};
109936
109939
  white-space: nowrap;
109940
+ text-decoration: none;
109941
+ }
109942
+
109943
+ slot[name='start']::slotted(*),
109944
+ slot[name='end']::slotted(*) {
109945
+ flex-shrink: 0;
109946
+ color: currentColor;
109947
+ ${iconColor.cssCustomProperty}: currentColor;
109948
+ }
109949
+
109950
+ slot[name='start']::slotted(*) {
109951
+ margin-inline-end: ${smallPadding};
109952
+ }
109953
+
109954
+ slot[name='end']::slotted(*) {
109955
+ margin-inline-start: ${smallPadding};
109956
+ }
109957
+
109958
+ .split-button-primary-disabled {
109959
+ cursor: default;
109937
109960
  }
109938
109961
 
109939
109962
  .split-button-toggle {
@@ -109967,21 +109990,21 @@ focus outline in that case.
109967
109990
  }
109968
109991
 
109969
109992
  @layer hover {
109970
- .split-button-primary:enabled:hover,
109993
+ .split-button-primary:is(:enabled, [href]):hover,
109971
109994
  .split-button-toggle:enabled:hover {
109972
109995
  border-color: ${borderHoverColor};
109973
109996
  box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
109974
109997
  z-index: 1;
109975
109998
  }
109976
109999
 
109977
- .split-button-primary:enabled:hover + .split-button-toggle::after,
110000
+ .split-button-primary:is(:enabled, [href]):hover + .split-button-toggle::after,
109978
110001
  .split-button-toggle:enabled:hover::after {
109979
110002
  visibility: hidden;
109980
110003
  }
109981
110004
  }
109982
110005
 
109983
110006
  @layer focusVisible {
109984
- .split-button-primary:enabled:focus-visible,
110007
+ .split-button-primary:is(:enabled, [href]):focus-visible,
109985
110008
  .split-button-toggle:enabled:focus-visible {
109986
110009
  border-color: ${borderHoverColor};
109987
110010
  box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
@@ -110000,7 +110023,7 @@ focus outline in that case.
110000
110023
  }
110001
110024
 
110002
110025
  @layer active {
110003
- .split-button-primary:enabled:active,
110026
+ .split-button-primary:is(:enabled, [href]):active,
110004
110027
  .split-button-toggle:enabled:active,
110005
110028
  :host([open]) .split-button-toggle {
110006
110029
  border-color: ${borderHoverColor};
@@ -110018,7 +110041,7 @@ focus outline in that case.
110018
110041
  visibility: hidden;
110019
110042
  }
110020
110043
 
110021
- :host([appearance='block']) .split-button-primary:enabled:active,
110044
+ :host([appearance='block']) .split-button-primary:is(:enabled, [href]):active,
110022
110045
  :host([appearance='block']) .split-button-toggle:enabled:active,
110023
110046
  :host([appearance='block'][open]) .split-button-toggle {
110024
110047
  background-color: ${applicationBackgroundColor};
@@ -110036,6 +110059,14 @@ focus outline in that case.
110036
110059
  --ni-private-ok-fv-split-button-color: ${buttonLabelDisabledFontColor};
110037
110060
  }
110038
110061
 
110062
+ :host([disabled][appearance='block']) {
110063
+ --ni-private-ok-fv-split-button-background-image: linear-gradient(
110064
+ rgba(${borderRgbPartialColor}, 0.1),
110065
+ rgba(${borderRgbPartialColor}, 0.1)
110066
+ );
110067
+ --ni-private-ok-fv-split-button-border: rgba(${borderRgbPartialColor}, 0.1);
110068
+ }
110069
+
110039
110070
  :host([disabled][appearance='outline']) {
110040
110071
  --ni-private-ok-fv-split-button-border: rgba(${borderRgbPartialColor}, 0.3);
110041
110072
  }
@@ -110044,6 +110075,15 @@ focus outline in that case.
110044
110075
  :host([disabled]) .split-button-toggle {
110045
110076
  cursor: default;
110046
110077
  box-shadow: none;
110078
+ background-image: none;
110079
+ background-size: 100% 100%;
110080
+ }
110081
+
110082
+ :host([disabled]) slot[name='start']::slotted(*),
110083
+ :host([disabled]) slot[name='end']::slotted(*),
110084
+ :host([disabled]) .split-button-toggle > * {
110085
+ opacity: 0.3;
110086
+ ${iconColor.cssCustomProperty}: ${buttonLabelFontColor};
110047
110087
  }
110048
110088
 
110049
110089
  :host([disabled][appearance='ghost']) .split-button-primary,
@@ -110055,7 +110095,7 @@ focus outline in that case.
110055
110095
  @layer top {}
110056
110096
  `;
110057
110097
 
110058
- const template$b = html `
110098
+ const template$c = html `
110059
110099
  <div
110060
110100
  class="split-button-container"
110061
110101
  >
@@ -110068,7 +110108,9 @@ focus outline in that case.
110068
110108
  return true;
110069
110109
  }}"
110070
110110
  >
110071
- ${x => x.label}
110111
+ <slot name="start"></slot>
110112
+ <span>${x => x.label}</span>
110113
+ <slot name="end"></slot>
110072
110114
  </button>
110073
110115
  <button
110074
110116
  class="split-button-toggle"
@@ -110227,240 +110269,19 @@ focus outline in that case.
110227
110269
  ], FvSplitButton.prototype, "region", void 0);
110228
110270
  const okFvSplitButton = FvSplitButton.compose({
110229
110271
  baseName: 'fv-split-button',
110230
- template: template$b,
110272
+ template: template$c,
110231
110273
  styles: styles$a
110232
110274
  });
110233
110275
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitButton());
110234
110276
 
110235
- const styles$9 = css `
110236
- @layer base, hover, focusVisible, active, disabled, top;
110237
-
110238
- @layer base {
110239
- ${display('inline-block')}
110240
-
110241
- :host {
110242
- --ni-private-ok-fv-split-button-anchor-background-image: none;
110243
- --ni-private-ok-fv-split-button-anchor-background-size: 100% 100%;
110244
- --ni-private-ok-fv-split-button-anchor-background-size-emphasis: 100% 100%;
110245
- --ni-private-ok-fv-split-button-anchor-border: rgba(${actionRgbPartialColor}, 0.3);
110246
- --ni-private-ok-fv-split-button-anchor-color: ${buttonLabelFontColor};
110247
- position: relative;
110248
- height: ${controlHeight};
110249
- vertical-align: middle;
110250
- }
110251
-
110252
- :host([appearance='ghost']) {
110253
- --ni-private-ok-fv-split-button-anchor-border: transparent;
110254
- }
110255
-
110256
- :host([appearance='block']) {
110257
- --ni-private-ok-fv-split-button-anchor-background-image: linear-gradient(
110258
- rgba(${borderRgbPartialColor}, 0.1),
110259
- rgba(${borderRgbPartialColor}, 0.1)
110260
- );
110261
- --ni-private-ok-fv-split-button-anchor-border: rgba(${borderRgbPartialColor}, 0.1);
110262
- --ni-private-ok-fv-split-button-anchor-background-size-emphasis: calc(100% - 4px) calc(100% - 4px);
110263
- }
110264
-
110265
- :host([appearance='outline'][appearance-variant='primary']) {
110266
- --ni-private-ok-fv-split-button-anchor-border: rgb(${actionRgbPartialColor});
110267
- }
110268
-
110269
- :host([appearance='outline'][appearance-variant='accent']) {
110270
- --ni-private-ok-fv-split-button-anchor-border: ${buttonBorderAccentOutlineColor};
110271
- --ni-private-ok-fv-split-button-anchor-color: ${buttonAccentOutlineFontColor};
110272
- }
110273
-
110274
- :host([appearance='block'][appearance-variant='primary']) {
110275
- --ni-private-ok-fv-split-button-anchor-background-image: linear-gradient(
110276
- ${buttonFillPrimaryColor},
110277
- ${buttonFillPrimaryColor}
110278
- );
110279
- --ni-private-ok-fv-split-button-anchor-border: ${buttonFillPrimaryColor};
110280
- --ni-private-ok-fv-split-button-anchor-color: ${buttonPrimaryFontColor};
110281
- }
110282
-
110283
- :host([appearance='block'][appearance-variant='accent']) {
110284
- --ni-private-ok-fv-split-button-anchor-background-image: linear-gradient(
110285
- ${buttonFillAccentColor},
110286
- ${buttonFillAccentColor}
110287
- );
110288
- --ni-private-ok-fv-split-button-anchor-border: ${buttonFillAccentColor};
110289
- --ni-private-ok-fv-split-button-anchor-color: ${buttonAccentBlockFontColor};
110290
- }
110291
-
110292
- .split-button-container {
110293
- position: relative;
110294
- display: inline-flex;
110295
- align-items: stretch;
110296
- height: 100%;
110297
- }
110298
-
110299
- .split-button-primary,
110300
- .split-button-toggle {
110301
- appearance: none;
110302
- position: relative;
110303
- z-index: 0;
110304
- height: 100%;
110305
- box-sizing: border-box;
110306
- margin: 0;
110307
- border: ${borderWidth} solid var(--ni-private-ok-fv-split-button-anchor-border);
110308
- background-color: transparent;
110309
- background-image: var(--ni-private-ok-fv-split-button-anchor-background-image);
110310
- background-position: center;
110311
- background-repeat: no-repeat;
110312
- background-size: var(--ni-private-ok-fv-split-button-anchor-background-size);
110313
- color: var(--ni-private-ok-fv-split-button-anchor-color);
110314
- fill: currentcolor;
110315
- font: ${buttonLabelFont};
110316
- cursor: pointer;
110317
- outline: none;
110318
- transition:
110319
- box-shadow ${smallDelay} ease-in-out,
110320
- border-color ${smallDelay} ease-in-out,
110321
- background-size ${smallDelay} ease-in-out;
110322
- }
110323
-
110324
- .split-button-primary {
110325
- display: inline-flex;
110326
- align-items: center;
110327
- justify-content: center;
110328
- padding: 0 ${standardPadding};
110329
- border-inline-end-color: transparent;
110330
- white-space: nowrap;
110331
- text-decoration: none;
110332
- }
110333
-
110334
- .split-button-primary::before,
110335
- .split-button-toggle::before {
110336
- content: '';
110337
- position: absolute;
110338
- inset: 0;
110339
- pointer-events: none;
110340
- outline: 0px solid transparent;
110341
- outline-offset: -3px;
110342
- transition: outline ${smallDelay} ease-in-out;
110343
- }
110344
-
110345
- .split-button-toggle {
110346
- width: ${controlHeight};
110347
- min-width: ${controlHeight};
110348
- display: inline-flex;
110349
- align-items: center;
110350
- justify-content: center;
110351
- border-inline-start-color: var(--ni-private-ok-fv-split-button-anchor-border);
110352
- margin-inline-start: calc(-1 * ${borderWidth});
110353
- }
110354
-
110355
- .split-button-toggle > * {
110356
- color: currentColor;
110357
- ${iconColor.cssCustomProperty}: currentColor;
110358
- }
110359
-
110360
- .split-button-primary-disabled {
110361
- cursor: default;
110362
- }
110363
-
110364
- :host([appearance='ghost']) .split-button-primary,
110365
- :host([appearance='ghost']) .split-button-toggle {
110366
- border-color: transparent;
110367
- box-shadow: none;
110368
- }
110369
-
110370
- slot[name='menu']::slotted(*) {
110371
- min-width: 100%;
110372
- margin: 4px 0 0;
110373
- }
110374
- }
110375
-
110376
- @layer hover {
110377
- .split-button-primary:hover,
110378
- .split-button-toggle:hover {
110379
- border-color: ${borderHoverColor};
110380
- box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
110381
- background-size: var(--ni-private-ok-fv-split-button-anchor-background-size-emphasis);
110382
- z-index: 1;
110383
- }
110384
-
110385
- :host([appearance='ghost']) .split-button-primary:hover,
110386
- :host([appearance='ghost']) .split-button-toggle:hover {
110387
- border-color: ${borderHoverColor};
110388
- box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
110389
- }
110390
- }
110391
-
110392
- @layer focusVisible {
110393
- .split-button-primary:focus-visible,
110394
- .split-button-toggle:focus-visible {
110395
- border-color: ${borderHoverColor};
110396
- box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
110397
- background-size: var(--ni-private-ok-fv-split-button-anchor-background-size-emphasis);
110398
- z-index: 1;
110399
- }
110400
-
110401
- .split-button-primary:focus-visible::before,
110402
- .split-button-toggle:focus-visible::before {
110403
- outline: ${borderWidth} solid ${borderHoverColor};
110404
- }
110405
-
110406
- :host([appearance='ghost']) .split-button-primary:focus-visible,
110407
- :host([appearance='ghost']) .split-button-toggle:focus-visible {
110408
- border-color: ${borderHoverColor};
110409
- box-shadow: 0 0 0 ${borderWidth} ${borderHoverColor} inset;
110410
- }
110411
- }
110412
-
110413
- @layer active {
110414
- .split-button-primary:active,
110415
- .split-button-toggle:active,
110416
- :host([open]) .split-button-toggle {
110417
- border-color: ${borderHoverColor};
110418
- box-shadow: none;
110419
- background-image: linear-gradient(${fillSelectedColor}, ${fillSelectedColor});
110420
- background-size: calc(100% - 2px) calc(100% - 2px);
110421
- }
110422
-
110423
- :host([appearance='block']) .split-button-primary:active,
110424
- :host([appearance='block']) .split-button-toggle:active,
110425
- :host([appearance='block'][open]) .split-button-toggle {
110426
- background-size: calc(100% - 4px) calc(100% - 4px);
110427
- }
110428
-
110429
- :host([appearance='outline'][appearance-variant='accent']) .split-button-primary:active,
110430
- :host([appearance='outline'][appearance-variant='accent']) .split-button-toggle:active,
110431
- :host([appearance='outline'][appearance-variant='accent'][open]) .split-button-toggle {
110432
- color: ${buttonAccentOutlineFontColor};
110433
- }
110434
- }
110435
-
110436
- @layer disabled {
110437
- :host([disabled]) {
110438
- --ni-private-ok-fv-split-button-anchor-color: ${buttonLabelDisabledFontColor};
110439
- }
110440
-
110441
- :host([disabled][appearance='outline']) {
110442
- --ni-private-ok-fv-split-button-anchor-border: rgba(${borderRgbPartialColor}, 0.3);
110443
- }
110444
-
110445
- :host([disabled]) .split-button-primary,
110446
- :host([disabled]) .split-button-toggle {
110447
- cursor: default;
110448
- box-shadow: none;
110449
- }
110450
-
110451
- :host([disabled][appearance='ghost']) .split-button-primary,
110452
- :host([disabled][appearance='ghost']) .split-button-toggle {
110453
- border-color: transparent;
110454
- }
110455
- }
110456
-
110457
- @layer top {}
110277
+ const primaryContent = html `
110278
+ <slot name="start"></slot>
110279
+ <span>${x => x.label}</span>
110280
+ <slot name="end"></slot>
110458
110281
  `;
110459
-
110460
- const template$a = html `
110282
+ const template$b = html `
110461
110283
  <div
110462
110284
  class="split-button-container"
110463
- ${ref('splitButtonContainer')}
110464
110285
  >
110465
110286
  ${when(x => !x.disabled && x.href.length > 0, html `
110466
110287
  <a
@@ -110474,7 +110295,7 @@ focus outline in that case.
110474
110295
  return true;
110475
110296
  }}"
110476
110297
  >
110477
- ${x => x.label}
110298
+ ${primaryContent}
110478
110299
  </a>
110479
110300
  `)}
110480
110301
  ${when(x => x.disabled || x.href.length === 0, html `
@@ -110482,11 +110303,12 @@ focus outline in that case.
110482
110303
  class="split-button-primary split-button-primary-disabled"
110483
110304
  aria-disabled="${x => x.disabled}"
110484
110305
  >
110485
- ${x => x.label}
110306
+ ${primaryContent}
110486
110307
  </span>
110487
110308
  `)}
110488
110309
  <button
110489
110310
  class="split-button-toggle"
110311
+ ${ref('toggleButton')}
110490
110312
  type="button"
110491
110313
  ?disabled="${x => x.disabled}"
110492
110314
  aria-label="${x => `More actions for ${x.label}`}"
@@ -110506,9 +110328,9 @@ focus outline in that case.
110506
110328
  auto-update-mode="auto"
110507
110329
  horizontal-inset
110508
110330
  horizontal-positioning-mode="dynamic"
110331
+ horizontal-default-position="end"
110509
110332
  vertical-positioning-mode="locktodefault"
110510
110333
  vertical-default-position="bottom"
110511
- horizontal-scaling="anchor"
110512
110334
  ${ref('region')}
110513
110335
  >
110514
110336
  <span part="menu">
@@ -110600,14 +110422,14 @@ focus outline in that case.
110600
110422
  prev.removeEventListener('change', this.menuChangeHandler);
110601
110423
  }
110602
110424
  if (this.region) {
110603
- this.region.anchorElement = this.splitButtonContainer ?? this;
110425
+ this.region.anchorElement = this.toggleButton ?? this;
110604
110426
  this.region.addEventListener('change', this.menuChangeHandler, { capture: true });
110605
110427
  }
110606
110428
  }
110607
110429
  /** @internal */
110608
- splitButtonContainerChanged() {
110430
+ toggleButtonChanged() {
110609
110431
  if (this.region) {
110610
- this.region.anchorElement = this.splitButtonContainer ?? this;
110432
+ this.region.anchorElement = this.toggleButton ?? this;
110611
110433
  }
110612
110434
  }
110613
110435
  setOpen(nextOpen) {
@@ -110651,18 +110473,18 @@ focus outline in that case.
110651
110473
  ], FvSplitButtonAnchor.prototype, "appearanceVariant", void 0);
110652
110474
  __decorate([
110653
110475
  observable
110654
- ], FvSplitButtonAnchor.prototype, "splitButtonContainer", void 0);
110476
+ ], FvSplitButtonAnchor.prototype, "toggleButton", void 0);
110655
110477
  __decorate([
110656
110478
  observable
110657
110479
  ], FvSplitButtonAnchor.prototype, "region", void 0);
110658
110480
  const okFvSplitButtonAnchor = FvSplitButtonAnchor.compose({
110659
110481
  baseName: 'fv-split-button-anchor',
110660
- template: template$a,
110661
- styles: styles$9
110482
+ template: template$b,
110483
+ styles: styles$a
110662
110484
  });
110663
110485
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitButtonAnchor());
110664
110486
 
110665
- const styles$8 = css `
110487
+ const styles$9 = css `
110666
110488
  ${display('block')}
110667
110489
 
110668
110490
  .sticky-header {
@@ -110681,7 +110503,7 @@ focus outline in that case.
110681
110503
  }
110682
110504
  `;
110683
110505
 
110684
- const template$9 = html `
110506
+ const template$a = html `
110685
110507
  <div class="header" part="header">
110686
110508
  <slot
110687
110509
  name="header"
@@ -110781,12 +110603,12 @@ focus outline in that case.
110781
110603
  ], FvStickyHeader.prototype, "showStickyHeader", void 0);
110782
110604
  const okFvStickyHeader = FvStickyHeader.compose({
110783
110605
  baseName: 'fv-sticky-header',
110784
- template: template$9,
110785
- styles: styles$8
110606
+ template: template$a,
110607
+ styles: styles$9
110786
110608
  });
110787
110609
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvStickyHeader());
110788
110610
 
110789
- const styles$7 = css `
110611
+ const styles$8 = css `
110790
110612
  @layer base, hover, focusVisible, active, disabled, top;
110791
110613
 
110792
110614
  @layer base {
@@ -110854,7 +110676,7 @@ focus outline in that case.
110854
110676
  @layer top {}
110855
110677
  `;
110856
110678
 
110857
- const template$8 = html `
110679
+ const template$9 = html `
110858
110680
  <section class="summary-panel" part="panel">
110859
110681
  <div
110860
110682
  ${ref('summaryItems')}
@@ -110998,12 +110820,12 @@ focus outline in that case.
110998
110820
  ], FvSummaryPanel.prototype, "editItemsButtonLabel", void 0);
110999
110821
  const okFvSummaryPanel = FvSummaryPanel.compose({
111000
110822
  baseName: 'fv-summary-panel',
111001
- template: template$8,
111002
- styles: styles$7
110823
+ template: template$9,
110824
+ styles: styles$8
111003
110825
  });
111004
110826
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSummaryPanel());
111005
110827
 
111006
- const styles$6 = css `
110828
+ const styles$7 = css `
111007
110829
  @layer base, hover, focusVisible, active, disabled, top;
111008
110830
 
111009
110831
  @layer base {
@@ -111161,7 +110983,7 @@ focus outline in that case.
111161
110983
  @layer top {}
111162
110984
  `;
111163
110985
 
111164
- const template$7 = html `
110986
+ const template$8 = html `
111165
110987
  <${cardButtonTag}
111166
110988
  class="summary-panel-tile"
111167
110989
  ?selected="${x => x.selected}"
@@ -111227,12 +111049,12 @@ focus outline in that case.
111227
111049
  ], FvSummaryPanelTile.prototype, "textPosition", void 0);
111228
111050
  const okFvSummaryPanelTile = FvSummaryPanelTile.compose({
111229
111051
  baseName: 'fv-summary-panel-tile',
111230
- template: template$7,
111231
- styles: styles$6
111052
+ template: template$8,
111053
+ styles: styles$7
111232
111054
  });
111233
111055
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSummaryPanelTile());
111234
111056
 
111235
- const styles$5 = css `
111057
+ const styles$6 = css `
111236
111058
  @layer base, hover, focusVisible, active, disabled, top;
111237
111059
 
111238
111060
  @layer base {
@@ -111410,7 +111232,7 @@ focus outline in that case.
111410
111232
  }
111411
111233
  `;
111412
111234
 
111413
- const template$6 = html `
111235
+ const template$7 = html `
111414
111236
  <div class="search-input-container">
111415
111237
  <span class="search-input-icon" aria-hidden="true">
111416
111238
  <${iconMagnifyingGlassTag}></${iconMagnifyingGlassTag}>
@@ -111481,15 +111303,15 @@ focus outline in that case.
111481
111303
  const okFvSearchInput = FvSearchInput.compose({
111482
111304
  baseName: 'fv-search-input',
111483
111305
  baseClass: TextField$1,
111484
- template: template$6,
111485
- styles: styles$5,
111306
+ template: template$7,
111307
+ styles: styles$6,
111486
111308
  shadowOptions: {
111487
111309
  delegatesFocus: true
111488
111310
  }
111489
111311
  });
111490
111312
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSearchInput());
111491
111313
 
111492
- const styles$4 = css `
111314
+ const styles$5 = css `
111493
111315
  @layer base, hover, focusVisible, active;
111494
111316
 
111495
111317
  @layer base {
@@ -111548,7 +111370,7 @@ focus outline in that case.
111548
111370
  }
111549
111371
  `;
111550
111372
 
111551
- const template$5 = html `
111373
+ const template$6 = html `
111552
111374
  <div
111553
111375
  class="splitter"
111554
111376
  @pointerdown="${(x, c) => x.handlePointerDown(c.event)}"
@@ -111811,8 +111633,8 @@ focus outline in that case.
111811
111633
  ], FvSplitter.prototype, "resizing", void 0);
111812
111634
  const okFvSplitter = FvSplitter.compose({
111813
111635
  baseName: 'fv-splitter',
111814
- template: template$5,
111815
- styles: styles$4,
111636
+ template: template$6,
111637
+ styles: styles$5,
111816
111638
  shadowOptions: {
111817
111639
  delegatesFocus: false
111818
111640
  }
@@ -111820,7 +111642,7 @@ focus outline in that case.
111820
111642
  DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitter());
111821
111643
  const fvSplitterTag = 'ok-fv-splitter';
111822
111644
 
111823
- const styles$3 = css `
111645
+ const styles$4 = css `
111824
111646
  ${display('block')}
111825
111647
 
111826
111648
  :host {
@@ -111860,7 +111682,7 @@ focus outline in that case.
111860
111682
  }
111861
111683
  `;
111862
111684
 
111863
- const template$4 = html `
111685
+ const template$5 = html `
111864
111686
  <div class="layout" style="grid-template-columns: ${x => x.gridTemplateColumns}">
111865
111687
  <div class="pane primary" id="${x => x.primaryPaneId}">
111866
111688
  <slot name="primary"></slot>
@@ -112066,10 +111888,326 @@ focus outline in that case.
112066
111888
  ], FvSplitLayout.prototype, "gridTemplateColumns", null);
112067
111889
  const okFvSplitLayout = FvSplitLayout.compose({
112068
111890
  baseName: 'fv-split-layout',
111891
+ template: template$5,
111892
+ styles: styles$4
111893
+ });
111894
+ DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitLayout());
111895
+
111896
+ const styles$3 = css `
111897
+ ${styles$15}
111898
+
111899
+ :host {
111900
+ display: block;
111901
+ min-width: 0;
111902
+ max-width: 100%;
111903
+ }
111904
+
111905
+ .positioning-region {
111906
+ position: relative;
111907
+ overflow-x: auto;
111908
+ }
111909
+
111910
+ .unreserved {
111911
+ position: absolute;
111912
+ inset-inline-end: 0;
111913
+ }
111914
+
111915
+ [part='start'],
111916
+ [part='end'],
111917
+ nimble-menu-button,
111918
+ ::slotted(*) {
111919
+ flex-shrink: 0;
111920
+ }
111921
+
111922
+ [part='start'] {
111923
+ margin: 0;
111924
+ margin-inline-end: auto;
111925
+ }
111926
+
111927
+ [part='end'] {
111928
+ margin: 0;
111929
+ margin-inline-start: auto;
111930
+ }
111931
+ `;
111932
+
111933
+ const template$4 = (context, definition) => html `
111934
+ <template
111935
+ role="toolbar"
111936
+ aria-label="${x => x.ariaLabel}"
111937
+ aria-labelledby="${x => x.ariaLabelledby}"
111938
+ aria-orientation="horizontal"
111939
+ @mousedown="${(x, c) => x.mouseDownHandler(c.event)}"
111940
+ @focusin="${(x, c) => x.focusinHandler(c.event)}"
111941
+ @keydown="${(x, c) => x.keydownHandler(c.event)}"
111942
+ ${children$1({ property: 'childItems', attributeFilter: ['disabled', 'hidden'], filter: elements(), subtree: true })}
111943
+ >
111944
+ <div class="positioning-region" part="positioning-region">
111945
+ ${startSlotTemplate(context, definition)}
111946
+ <slot ${slotted({ property: 'slottedItems', filter: elements() })}></slot>
111947
+ ${endSlotTemplate(context, definition)}
111948
+ <${menuButtonTag}
111949
+ ${ref('overflowButton')}
111950
+ hidden
111951
+ appearance="ghost"
111952
+ content-hidden
111953
+ @keydown="${(x, c) => {
111954
+ if (x.overflowButton.open) {
111955
+ c.event.stopPropagation();
111956
+ }
111957
+ return true;
111958
+ }}"
111959
+ >
111960
+ <${iconThreeDotsLineTag} slot="start"></${iconThreeDotsLineTag}>
111961
+ ${x => x.overflowLabel}
111962
+ <${menuTag} slot="menu" ${ref('overflowMenu')}></${menuTag}>
111963
+ </${menuButtonTag}>
111964
+ </div>
111965
+ </template>
111966
+ `;
111967
+
111968
+ /**
111969
+ * A Nimble toolbar that automatically collapses declaratively configured actions.
111970
+ */
111971
+ class FvToolbar extends Toolbar {
111972
+ constructor() {
111973
+ super(...arguments);
111974
+ this.overflowLabel = 'More actions';
111975
+ /** @internal */
111976
+ this.hasOverflow = false;
111977
+ this.items = new Map();
111978
+ this.resizeObserver = new ResizeObserver(() => this.scheduleLayout());
111979
+ this.mutationObserver = new MutationObserver(records => {
111980
+ for (const record of records) {
111981
+ const item = record.target instanceof Button ? this.items.get(record.target) : undefined;
111982
+ if (item && record.attributeName === 'hidden') {
111983
+ item.hidden = item.button.hidden;
111984
+ }
111985
+ if (item && record.attributeName === 'content-hidden') {
111986
+ item.contentHidden = item.button.contentHidden;
111987
+ }
111988
+ }
111989
+ this.scheduleLayout();
111990
+ });
111991
+ this.observedChildren = new Set();
111992
+ this.frame = 0;
111993
+ this.scheduleLayout = () => {
111994
+ if (!this.isConnected || this.frame !== 0) {
111995
+ return;
111996
+ }
111997
+ this.frame = requestAnimationFrame(() => {
111998
+ this.frame = 0;
111999
+ this.updateLayout();
112000
+ });
112001
+ };
112002
+ }
112003
+ connectedCallback() {
112004
+ super.connectedCallback();
112005
+ this.resizeObserver.observe(this);
112006
+ this.observeMutations();
112007
+ this.ownerDocument.fonts.addEventListener('loadingdone', this.scheduleLayout);
112008
+ this.scheduleLayout();
112009
+ }
112010
+ disconnectedCallback() {
112011
+ this.resizeObserver.disconnect();
112012
+ this.mutationObserver.disconnect();
112013
+ this.ownerDocument.fonts.removeEventListener('loadingdone', this.scheduleLayout);
112014
+ cancelAnimationFrame(this.frame);
112015
+ this.frame = 0;
112016
+ for (const item of this.items.values()) {
112017
+ this.restoreItem(item);
112018
+ }
112019
+ this.items.clear();
112020
+ this.observedChildren.clear();
112021
+ super.disconnectedCallback();
112022
+ }
112023
+ get allSlottedItems() {
112024
+ return [
112025
+ ...super.allSlottedItems,
112026
+ ...(this.hasOverflow ? [this.overflowButton] : [])
112027
+ ];
112028
+ }
112029
+ observeMutations() {
112030
+ this.mutationObserver.observe(this, {
112031
+ subtree: true,
112032
+ childList: true,
112033
+ characterData: true,
112034
+ attributes: true,
112035
+ attributeFilter: [
112036
+ 'data-responsive', 'data-priority', 'disabled', 'hidden',
112037
+ 'content-hidden', 'aria-label', 'slot', 'class', 'style'
112038
+ ]
112039
+ });
112040
+ }
112041
+ restoreItem(item) {
112042
+ item.button.hidden = item.hidden;
112043
+ item.button.toggleAttribute('content-hidden', item.contentHidden);
112044
+ item.menuItem.remove();
112045
+ }
112046
+ syncItems() {
112047
+ const buttons = Array.from(this.children).filter((child) => child instanceof Button && child.hasAttribute('data-responsive'));
112048
+ for (const [button, item] of this.items) {
112049
+ if (!buttons.includes(button)) {
112050
+ this.restoreItem(item);
112051
+ this.items.delete(button);
112052
+ }
112053
+ }
112054
+ for (const button of buttons) {
112055
+ const value = button.getAttribute('data-responsive')?.trim() ?? '';
112056
+ const tokens = value.split(/\s+/);
112057
+ const stages = ['label', 'icon', 'overflow'].filter(stage => tokens.includes(stage));
112058
+ const priority = Number(button.getAttribute('data-priority') ?? 0);
112059
+ if (stages.length === 0 || tokens.some(token => !stages.some(stage => stage === token))
112060
+ || !Number.isFinite(priority)
112061
+ || (stages.includes('icon') && !button.querySelector(':scope > [slot="start"]'))) {
112062
+ throw new Error('ok-fv-toolbar requires valid data-responsive stages, a finite data-priority, and a direct start-slot icon for icon-only actions.');
112063
+ }
112064
+ let item = this.items.get(button);
112065
+ if (!item) {
112066
+ const menuItem = this.ownerDocument.createElement(menuItemTag);
112067
+ menuItem.addEventListener('change', () => {
112068
+ if (!button.disabled) {
112069
+ button.click();
112070
+ }
112071
+ });
112072
+ item = {
112073
+ button,
112074
+ stages,
112075
+ priority,
112076
+ hidden: button.hidden,
112077
+ contentHidden: button.contentHidden,
112078
+ menuItem
112079
+ };
112080
+ this.items.set(button, item);
112081
+ }
112082
+ item.stages = stages;
112083
+ item.priority = priority;
112084
+ item.menuItem.disabled = button.disabled;
112085
+ const label = (button.getAttribute('aria-label')
112086
+ ?? Array.from(button.childNodes)
112087
+ .filter(node => node.nodeType === Node.TEXT_NODE
112088
+ || (node instanceof Element && !node.hasAttribute('slot')))
112089
+ .map(node => node.textContent).join('')).trim();
112090
+ if (!label) {
112091
+ throw new Error('ok-fv-toolbar responsive actions require a text label or aria-label.');
112092
+ }
112093
+ if (item.menuItem.textContent !== label) {
112094
+ item.menuItem.textContent = label;
112095
+ }
112096
+ }
112097
+ return buttons.map(button => this.items.get(button));
112098
+ }
112099
+ updateLayout() {
112100
+ // Ignore our own presentation mutations, not application changes.
112101
+ this.mutationObserver.disconnect();
112102
+ try {
112103
+ const menuFocus = this.shadowRoot?.activeElement;
112104
+ const menuHadFocus = menuFocus && this.overflowButton.contains(menuFocus);
112105
+ const previousMenuItems = Array.from(this.overflowMenu.children);
112106
+ const items = this.syncItems();
112107
+ const root = this.getRootNode();
112108
+ const activeElement = root instanceof ShadowRoot ? root.activeElement : this.ownerDocument.activeElement;
112109
+ const focusedItem = items.find(item => item.button === activeElement);
112110
+ for (const child of this.observedChildren) {
112111
+ if (child.parentElement !== this) {
112112
+ this.resizeObserver.unobserve(child);
112113
+ this.observedChildren.delete(child);
112114
+ }
112115
+ }
112116
+ for (const child of this.children) {
112117
+ if (!this.observedChildren.has(child)) {
112118
+ this.resizeObserver.observe(child);
112119
+ this.observedChildren.add(child);
112120
+ }
112121
+ }
112122
+ const overflow = new Set();
112123
+ for (const item of items) {
112124
+ item.button.hidden = item.hidden;
112125
+ item.button.toggleAttribute('content-hidden', item.stages[0] === 'icon');
112126
+ if (!item.hidden && item.stages[0] === 'overflow') {
112127
+ overflow.add(item);
112128
+ item.button.hidden = true;
112129
+ }
112130
+ }
112131
+ this.showOverflow(overflow.size > 0);
112132
+ const ordered = items.filter(item => !item.hidden).reverse()
112133
+ .sort((a, b) => a.priority - b.priority);
112134
+ // ponytail: measure each transition; cache widths only if large toolbars make this costly.
112135
+ for (const stage of ['icon', 'overflow']) {
112136
+ for (const item of ordered) {
112137
+ if (this.fits()) {
112138
+ break;
112139
+ }
112140
+ if (overflow.has(item) || !item.stages.includes(stage)) {
112141
+ continue;
112142
+ }
112143
+ if (stage === 'icon') {
112144
+ item.button.toggleAttribute('content-hidden', true);
112145
+ }
112146
+ else {
112147
+ item.button.hidden = true;
112148
+ overflow.add(item);
112149
+ this.showOverflow(true);
112150
+ }
112151
+ }
112152
+ }
112153
+ const overflowItems = items.filter(item => overflow.has(item));
112154
+ const nextMenuItems = overflowItems.map(item => item.menuItem);
112155
+ if (nextMenuItems.length !== previousMenuItems.length
112156
+ || nextMenuItems.some((item, index) => previousMenuItems[index] !== item)) {
112157
+ this.overflowButton.open = false;
112158
+ this.overflowMenu.replaceChildren(...nextMenuItems);
112159
+ }
112160
+ if (!this.hasOverflow) {
112161
+ this.overflowButton.open = false;
112162
+ }
112163
+ this.overflowButton.hidden = !this.hasOverflow;
112164
+ this.overflowButton.classList.remove('unreserved');
112165
+ this.reduceFocusableElements();
112166
+ if (focusedItem && overflow.has(focusedItem)) {
112167
+ this.overflowButton.focus();
112168
+ }
112169
+ else if (menuHadFocus) {
112170
+ if (this.hasOverflow) {
112171
+ if (this.overflowButton.open && menuFocus instanceof HTMLElement && menuFocus.isConnected) {
112172
+ menuFocus.focus();
112173
+ }
112174
+ else {
112175
+ this.overflowButton.focus();
112176
+ }
112177
+ }
112178
+ else {
112179
+ Array.from(this.querySelectorAll('[tabindex="0"]'))
112180
+ .find(control => !control.closest('[hidden], [disabled]'))?.focus();
112181
+ }
112182
+ }
112183
+ }
112184
+ finally {
112185
+ this.observeMutations();
112186
+ }
112187
+ }
112188
+ showOverflow(show) {
112189
+ this.hasOverflow = show;
112190
+ // Remove the trigger from width calculations without hiding its focused menu.
112191
+ this.overflowButton.classList.toggle('unreserved', !show);
112192
+ this.overflowButton.hidden = false;
112193
+ }
112194
+ fits() {
112195
+ const region = this.shadowRoot.querySelector('.positioning-region');
112196
+ return region.scrollWidth <= region.clientWidth;
112197
+ }
112198
+ }
112199
+ __decorate([
112200
+ attr({ attribute: 'overflow-label' })
112201
+ ], FvToolbar.prototype, "overflowLabel", void 0);
112202
+ __decorate([
112203
+ observable
112204
+ ], FvToolbar.prototype, "hasOverflow", void 0);
112205
+ const okFvToolbar = FvToolbar.compose({
112206
+ baseName: 'fv-toolbar',
112069
112207
  template: template$4,
112070
112208
  styles: styles$3
112071
112209
  });
112072
- DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitLayout());
112210
+ DesignSystem.getOrCreate().withPrefix('ok').register(okFvToolbar());
112073
112211
 
112074
112212
  const styles$2 = css `
112075
112213
  ${display('inline-block')}
@@ -112620,7 +112758,7 @@ focus outline in that case.
112620
112758
 
112621
112759
  const template = html `
112622
112760
  <template @delegated-event="${(x, c) => x.onDelegatedEvent(c.event)}"
112623
- >${template$R}</template
112761
+ >${template$S}</template
112624
112762
  >
112625
112763
  `;
112626
112764