@ni/ok-components 0.2.3 → 0.2.5
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.
|
@@ -14881,9 +14881,9 @@
|
|
|
14881
14881
|
const prefix = 'ni-nimble';
|
|
14882
14882
|
const styleNameFromTokenName = (tokenName) => `${prefix}-${tokenName}`;
|
|
14883
14883
|
|
|
14884
|
-
const template$
|
|
14884
|
+
const template$Z = html `<slot></slot>`;
|
|
14885
14885
|
|
|
14886
|
-
const styles$
|
|
14886
|
+
const styles$1c = css `
|
|
14887
14887
|
${display$2('contents')}
|
|
14888
14888
|
`;
|
|
14889
14889
|
|
|
@@ -14998,8 +14998,8 @@
|
|
|
14998
14998
|
], ThemeProvider.prototype, "theme", void 0);
|
|
14999
14999
|
const nimbleDesignSystemProvider = ThemeProvider.compose({
|
|
15000
15000
|
baseName: 'theme-provider',
|
|
15001
|
-
styles: styles$
|
|
15002
|
-
template: template$
|
|
15001
|
+
styles: styles$1c,
|
|
15002
|
+
template: template$Z
|
|
15003
15003
|
});
|
|
15004
15004
|
DesignSystem.getOrCreate()
|
|
15005
15005
|
.withPrefix('nimble')
|
|
@@ -16572,7 +16572,7 @@
|
|
|
16572
16572
|
}
|
|
16573
16573
|
// #endregion
|
|
16574
16574
|
|
|
16575
|
-
const styles$
|
|
16575
|
+
const styles$1b = css `
|
|
16576
16576
|
@layer base, hover, focusVisible, active, disabled;
|
|
16577
16577
|
|
|
16578
16578
|
@layer base {
|
|
@@ -16650,7 +16650,7 @@
|
|
|
16650
16650
|
}
|
|
16651
16651
|
`;
|
|
16652
16652
|
|
|
16653
|
-
const template$
|
|
16653
|
+
const template$Y = (_context, definition) => html `${
|
|
16654
16654
|
/* top-container div is necessary because setting contenteditable directly on the native anchor instead
|
|
16655
16655
|
leaves it focusable, unlike the behavior you get when the anchor is _within_ a contenteditable element.
|
|
16656
16656
|
*/ ''}<div
|
|
@@ -16696,12 +16696,12 @@
|
|
|
16696
16696
|
Whitespace intentionally avoided between tags for inline styles */ ''}<span
|
|
16697
16697
|
part="start"
|
|
16698
16698
|
${ref('startContainer')}
|
|
16699
|
-
class="${_x => (definition.start ? 'start' : null)}"
|
|
16699
|
+
class="${_x => (definition.start !== undefined ? 'start' : null)}"
|
|
16700
16700
|
><slot
|
|
16701
16701
|
name="start"
|
|
16702
16702
|
${ref('start')}
|
|
16703
16703
|
@slotchange="${x => x.handleStartContentChange()}">
|
|
16704
|
-
${definition.start
|
|
16704
|
+
${definition.start ?? ''}
|
|
16705
16705
|
</slot
|
|
16706
16706
|
></span
|
|
16707
16707
|
><span
|
|
@@ -16714,12 +16714,12 @@
|
|
|
16714
16714
|
><span
|
|
16715
16715
|
part="end"
|
|
16716
16716
|
${ref('endContainer')}
|
|
16717
|
-
class=${_x => (definition.end ? 'end' : null)}
|
|
16717
|
+
class=${_x => (definition.end !== undefined ? 'end' : null)}
|
|
16718
16718
|
><slot
|
|
16719
16719
|
name="end"
|
|
16720
16720
|
${ref('end')}
|
|
16721
16721
|
@slotchange="${x => x.handleEndContentChange()}">
|
|
16722
|
-
${definition.end
|
|
16722
|
+
${definition.end ?? ''}
|
|
16723
16723
|
</slot
|
|
16724
16724
|
></span></a></div>`;
|
|
16725
16725
|
|
|
@@ -16753,8 +16753,8 @@
|
|
|
16753
16753
|
const nimbleAnchor = Anchor.compose({
|
|
16754
16754
|
baseName: 'anchor',
|
|
16755
16755
|
baseClass: Anchor$1,
|
|
16756
|
-
template: template$
|
|
16757
|
-
styles: styles$
|
|
16756
|
+
template: template$Y,
|
|
16757
|
+
styles: styles$1b,
|
|
16758
16758
|
shadowOptions: {
|
|
16759
16759
|
delegatesFocus: true
|
|
16760
16760
|
}
|
|
@@ -16863,7 +16863,7 @@
|
|
|
16863
16863
|
padding: 0;
|
|
16864
16864
|
`;
|
|
16865
16865
|
|
|
16866
|
-
const styles$
|
|
16866
|
+
const styles$1a = css `
|
|
16867
16867
|
@layer base, checked, hover, focusVisible, active, disabled, top;
|
|
16868
16868
|
|
|
16869
16869
|
@layer base {
|
|
@@ -17147,8 +17147,8 @@
|
|
|
17147
17147
|
}
|
|
17148
17148
|
`));
|
|
17149
17149
|
|
|
17150
|
-
const styles$
|
|
17151
|
-
${styles$
|
|
17150
|
+
const styles$19 = css `
|
|
17151
|
+
${styles$1a}
|
|
17152
17152
|
${buttonAppearanceVariantStyles}
|
|
17153
17153
|
|
|
17154
17154
|
.control {
|
|
@@ -17168,7 +17168,7 @@
|
|
|
17168
17168
|
}
|
|
17169
17169
|
`;
|
|
17170
17170
|
|
|
17171
|
-
const template$
|
|
17171
|
+
const template$X = (context, definition) => html `
|
|
17172
17172
|
<a
|
|
17173
17173
|
class="control"
|
|
17174
17174
|
part="control"
|
|
@@ -17250,8 +17250,8 @@
|
|
|
17250
17250
|
], AnchorButton.prototype, "disabled", void 0);
|
|
17251
17251
|
const nimbleAnchorButton = AnchorButton.compose({
|
|
17252
17252
|
baseName: 'anchor-button',
|
|
17253
|
-
template: template$
|
|
17254
|
-
styles: styles$
|
|
17253
|
+
template: template$X,
|
|
17254
|
+
styles: styles$19,
|
|
17255
17255
|
shadowOptions: {
|
|
17256
17256
|
delegatesFocus: true
|
|
17257
17257
|
}
|
|
@@ -17259,7 +17259,7 @@
|
|
|
17259
17259
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorButton());
|
|
17260
17260
|
const anchorButtonTag = 'nimble-anchor-button';
|
|
17261
17261
|
|
|
17262
|
-
const styles$
|
|
17262
|
+
const styles$18 = css `
|
|
17263
17263
|
${display$2('grid')}
|
|
17264
17264
|
|
|
17265
17265
|
:host {
|
|
@@ -17342,7 +17342,7 @@
|
|
|
17342
17342
|
}
|
|
17343
17343
|
`;
|
|
17344
17344
|
|
|
17345
|
-
const template$
|
|
17345
|
+
const template$W = (context, definition) => html `
|
|
17346
17346
|
<template
|
|
17347
17347
|
role="menuitem"
|
|
17348
17348
|
class="${x => (typeof x.startColumnCount === 'number'
|
|
@@ -17443,8 +17443,8 @@
|
|
|
17443
17443
|
// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
|
|
17444
17444
|
const nimbleAnchorMenuItem = AnchorMenuItem.compose({
|
|
17445
17445
|
baseName: 'anchor-menu-item',
|
|
17446
|
-
template: template$
|
|
17447
|
-
styles: styles$
|
|
17446
|
+
template: template$W,
|
|
17447
|
+
styles: styles$18,
|
|
17448
17448
|
shadowOptions: {
|
|
17449
17449
|
delegatesFocus: true
|
|
17450
17450
|
}
|
|
@@ -17454,7 +17454,27 @@
|
|
|
17454
17454
|
.register(nimbleAnchorMenuItem());
|
|
17455
17455
|
const anchorMenuItemTag = 'nimble-anchor-menu-item';
|
|
17456
17456
|
|
|
17457
|
-
const styles$
|
|
17457
|
+
const styles$17 = css `
|
|
17458
|
+
${display$2('flex')}
|
|
17459
|
+
`;
|
|
17460
|
+
|
|
17461
|
+
const template$V = html `
|
|
17462
|
+
<template>anchor step</template>
|
|
17463
|
+
`;
|
|
17464
|
+
|
|
17465
|
+
/**
|
|
17466
|
+
* A nimble-styled anchor step for a stepper
|
|
17467
|
+
*/
|
|
17468
|
+
class AnchorStep extends FoundationElement {
|
|
17469
|
+
}
|
|
17470
|
+
const nimbleAnchorStep = AnchorStep.compose({
|
|
17471
|
+
baseName: 'anchor-step',
|
|
17472
|
+
template: template$V,
|
|
17473
|
+
styles: styles$17
|
|
17474
|
+
});
|
|
17475
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorStep());
|
|
17476
|
+
|
|
17477
|
+
const styles$16 = css `
|
|
17458
17478
|
${display$2('inline-flex')}
|
|
17459
17479
|
|
|
17460
17480
|
:host {
|
|
@@ -17571,7 +17591,7 @@
|
|
|
17571
17591
|
}
|
|
17572
17592
|
`;
|
|
17573
17593
|
|
|
17574
|
-
const template$
|
|
17594
|
+
const template$U = (context, definition) => html `
|
|
17575
17595
|
<template slot="anchortab" role="tab" aria-disabled="${x => x.disabled}">
|
|
17576
17596
|
<a
|
|
17577
17597
|
download="${x => x.download}"
|
|
@@ -17623,15 +17643,15 @@
|
|
|
17623
17643
|
// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
|
|
17624
17644
|
const nimbleAnchorTab = AnchorTab.compose({
|
|
17625
17645
|
baseName: 'anchor-tab',
|
|
17626
|
-
template: template$
|
|
17627
|
-
styles: styles$
|
|
17646
|
+
template: template$U,
|
|
17647
|
+
styles: styles$16,
|
|
17628
17648
|
shadowOptions: {
|
|
17629
17649
|
delegatesFocus: true
|
|
17630
17650
|
}
|
|
17631
17651
|
});
|
|
17632
17652
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTab());
|
|
17633
17653
|
|
|
17634
|
-
const styles$
|
|
17654
|
+
const styles$15 = css `
|
|
17635
17655
|
${display$2('flex')}
|
|
17636
17656
|
|
|
17637
17657
|
:host {
|
|
@@ -17671,12 +17691,12 @@
|
|
|
17671
17691
|
}
|
|
17672
17692
|
`;
|
|
17673
17693
|
|
|
17674
|
-
const styles$
|
|
17675
|
-
${styles$
|
|
17694
|
+
const styles$14 = css `
|
|
17695
|
+
${styles$1a}
|
|
17676
17696
|
${buttonAppearanceVariantStyles}
|
|
17677
17697
|
`;
|
|
17678
17698
|
|
|
17679
|
-
const template$
|
|
17699
|
+
const template$T = (context, definition) => html `
|
|
17680
17700
|
<button
|
|
17681
17701
|
class="control"
|
|
17682
17702
|
part="control"
|
|
@@ -17767,8 +17787,8 @@
|
|
|
17767
17787
|
const nimbleButton = Button$1.compose({
|
|
17768
17788
|
baseName: 'button',
|
|
17769
17789
|
baseClass: Button$2,
|
|
17770
|
-
template: template$
|
|
17771
|
-
styles: styles$
|
|
17790
|
+
template: template$T,
|
|
17791
|
+
styles: styles$14,
|
|
17772
17792
|
shadowOptions: {
|
|
17773
17793
|
delegatesFocus: true
|
|
17774
17794
|
}
|
|
@@ -18715,7 +18735,7 @@
|
|
|
18715
18735
|
};
|
|
18716
18736
|
|
|
18717
18737
|
// Avoiding any whitespace in the template because this is an inline element
|
|
18718
|
-
const template$
|
|
18738
|
+
const template$S = html `<div
|
|
18719
18739
|
class="icon"
|
|
18720
18740
|
aria-hidden="true"
|
|
18721
18741
|
:innerHTML=${x => x.icon.data}
|
|
@@ -18730,7 +18750,7 @@
|
|
|
18730
18750
|
-webkit-user-select: none;
|
|
18731
18751
|
`;
|
|
18732
18752
|
|
|
18733
|
-
const styles$
|
|
18753
|
+
const styles$13 = css `
|
|
18734
18754
|
${display$2('inline-flex')}
|
|
18735
18755
|
|
|
18736
18756
|
:host {
|
|
@@ -18793,8 +18813,8 @@
|
|
|
18793
18813
|
const registerIconSvg = (baseName, iconClass) => {
|
|
18794
18814
|
const composedIcon = iconClass.compose({
|
|
18795
18815
|
baseName,
|
|
18796
|
-
template: template$
|
|
18797
|
-
styles: styles$
|
|
18816
|
+
template: template$S,
|
|
18817
|
+
styles: styles$13
|
|
18798
18818
|
});
|
|
18799
18819
|
DesignSystem.getOrCreate().withPrefix('nimble').register(composedIcon());
|
|
18800
18820
|
};
|
|
@@ -18889,7 +18909,7 @@
|
|
|
18889
18909
|
cssCustomPropertyName: null
|
|
18890
18910
|
}).withDefault(coreLabelDefaults.itemRemoveLabel);
|
|
18891
18911
|
|
|
18892
|
-
const template$
|
|
18912
|
+
const template$R = (context, definition) => html `
|
|
18893
18913
|
<div
|
|
18894
18914
|
class="tab-bar"
|
|
18895
18915
|
>
|
|
@@ -18992,6 +19012,8 @@
|
|
|
18992
19012
|
tab.style[gridHorizontalProperty] = `${index + 1}`;
|
|
18993
19013
|
});
|
|
18994
19014
|
if (firstFocusableTab
|
|
19015
|
+
// False positive. See: https://github.com/typescript-eslint/typescript-eslint/issues/12036
|
|
19016
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
18995
19017
|
&& (!this.activetab || !this.isFocusableElement(this.activetab))) {
|
|
18996
19018
|
firstFocusableTab.setAttribute('tabindex', '0');
|
|
18997
19019
|
}
|
|
@@ -19188,15 +19210,15 @@
|
|
|
19188
19210
|
applyMixins(AnchorTabs, StartEnd);
|
|
19189
19211
|
const nimbleAnchorTabs = AnchorTabs.compose({
|
|
19190
19212
|
baseName: 'anchor-tabs',
|
|
19191
|
-
template: template$
|
|
19192
|
-
styles: styles$
|
|
19213
|
+
template: template$R,
|
|
19214
|
+
styles: styles$15,
|
|
19193
19215
|
shadowOptions: {
|
|
19194
19216
|
delegatesFocus: false
|
|
19195
19217
|
}
|
|
19196
19218
|
});
|
|
19197
19219
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleAnchorTabs());
|
|
19198
19220
|
|
|
19199
|
-
const styles$
|
|
19221
|
+
const styles$12 = css `
|
|
19200
19222
|
${display$2('block')}
|
|
19201
19223
|
|
|
19202
19224
|
:host {
|
|
@@ -19301,7 +19323,7 @@
|
|
|
19301
19323
|
}
|
|
19302
19324
|
`;
|
|
19303
19325
|
|
|
19304
|
-
const template$
|
|
19326
|
+
const template$Q = (context, definition) => html `
|
|
19305
19327
|
<template
|
|
19306
19328
|
role="treeitem"
|
|
19307
19329
|
slot="${x => (x.isNestedItem() ? 'item' : null)}"
|
|
@@ -19438,8 +19460,8 @@
|
|
|
19438
19460
|
// FoundationAnchor already applies the StartEnd mixin, so we don't need to do it here.
|
|
19439
19461
|
const nimbleAnchorTreeItem = AnchorTreeItem.compose({
|
|
19440
19462
|
baseName: 'anchor-tree-item',
|
|
19441
|
-
template: template$
|
|
19442
|
-
styles: styles$
|
|
19463
|
+
template: template$Q,
|
|
19464
|
+
styles: styles$12,
|
|
19443
19465
|
shadowOptions: {
|
|
19444
19466
|
delegatesFocus: true
|
|
19445
19467
|
}
|
|
@@ -19455,7 +19477,7 @@
|
|
|
19455
19477
|
zIndex1000: '1000'
|
|
19456
19478
|
};
|
|
19457
19479
|
|
|
19458
|
-
const styles
|
|
19480
|
+
const styles$11 = css `
|
|
19459
19481
|
${display$2('block')}
|
|
19460
19482
|
|
|
19461
19483
|
:host {
|
|
@@ -19486,7 +19508,7 @@
|
|
|
19486
19508
|
baseName: 'anchored-region',
|
|
19487
19509
|
baseClass: AnchoredRegion$1,
|
|
19488
19510
|
template: anchoredRegionTemplate,
|
|
19489
|
-
styles: styles
|
|
19511
|
+
styles: styles$11
|
|
19490
19512
|
});
|
|
19491
19513
|
DesignSystem.getOrCreate()
|
|
19492
19514
|
.withPrefix('nimble')
|
|
@@ -19567,7 +19589,7 @@
|
|
|
19567
19589
|
const themeBehavior = (theme, styles) => new ThemeStyleSheetBehavior(theme, styles);
|
|
19568
19590
|
/* eslint-enable max-classes-per-file */
|
|
19569
19591
|
|
|
19570
|
-
const styles$
|
|
19592
|
+
const styles$10 = css `
|
|
19571
19593
|
${display$2('flex')}
|
|
19572
19594
|
|
|
19573
19595
|
:host {
|
|
@@ -19745,7 +19767,7 @@
|
|
|
19745
19767
|
information: 'information'
|
|
19746
19768
|
};
|
|
19747
19769
|
|
|
19748
|
-
const template$
|
|
19770
|
+
const template$P = html `
|
|
19749
19771
|
<${themeProviderTag} theme="${Theme.color}">
|
|
19750
19772
|
<div class="container"
|
|
19751
19773
|
role="status"
|
|
@@ -19863,8 +19885,8 @@
|
|
|
19863
19885
|
applyMixins(Banner, ARIAGlobalStatesAndProperties);
|
|
19864
19886
|
const nimbleBanner = Banner.compose({
|
|
19865
19887
|
baseName: 'banner',
|
|
19866
|
-
template: template$
|
|
19867
|
-
styles: styles$
|
|
19888
|
+
template: template$P,
|
|
19889
|
+
styles: styles$10
|
|
19868
19890
|
});
|
|
19869
19891
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBanner());
|
|
19870
19892
|
|
|
@@ -19905,7 +19927,7 @@
|
|
|
19905
19927
|
</template>
|
|
19906
19928
|
`;
|
|
19907
19929
|
|
|
19908
|
-
const styles
|
|
19930
|
+
const styles$$ = css `
|
|
19909
19931
|
${display$2('inline-flex')}
|
|
19910
19932
|
|
|
19911
19933
|
:host {
|
|
@@ -20009,11 +20031,11 @@
|
|
|
20009
20031
|
baseName: 'breadcrumb',
|
|
20010
20032
|
baseClass: Breadcrumb$1,
|
|
20011
20033
|
template: breadcrumbTemplate,
|
|
20012
|
-
styles: styles
|
|
20034
|
+
styles: styles$$
|
|
20013
20035
|
});
|
|
20014
20036
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleBreadcrumb());
|
|
20015
20037
|
|
|
20016
|
-
const styles$
|
|
20038
|
+
const styles$_ = css `
|
|
20017
20039
|
@layer base, hover, focusVisible, active, disabled;
|
|
20018
20040
|
|
|
20019
20041
|
@layer base {
|
|
@@ -20110,14 +20132,14 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20110
20132
|
baseName: 'breadcrumb-item',
|
|
20111
20133
|
baseClass: BreadcrumbItem$1,
|
|
20112
20134
|
template: breadcrumbItemTemplate,
|
|
20113
|
-
styles: styles$
|
|
20135
|
+
styles: styles$_,
|
|
20114
20136
|
separator: forwardSlash16X16.data
|
|
20115
20137
|
});
|
|
20116
20138
|
DesignSystem.getOrCreate()
|
|
20117
20139
|
.withPrefix('nimble')
|
|
20118
20140
|
.register(nimbleBreadcrumbItem());
|
|
20119
20141
|
|
|
20120
|
-
const styles$
|
|
20142
|
+
const styles$Z = css `
|
|
20121
20143
|
${display$2('flex')}
|
|
20122
20144
|
|
|
20123
20145
|
:host {
|
|
@@ -20141,7 +20163,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20141
20163
|
}
|
|
20142
20164
|
`;
|
|
20143
20165
|
|
|
20144
|
-
const template$
|
|
20166
|
+
const template$O = html `
|
|
20145
20167
|
<section aria-labelledby="title-slot">
|
|
20146
20168
|
<span id="title-slot"><slot name="title"></slot></span>
|
|
20147
20169
|
<slot></slot>
|
|
@@ -20156,12 +20178,12 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20156
20178
|
const nimbleCard = Card.compose({
|
|
20157
20179
|
baseName: 'card',
|
|
20158
20180
|
baseClass: Card$1,
|
|
20159
|
-
template: template$
|
|
20160
|
-
styles: styles$
|
|
20181
|
+
template: template$O,
|
|
20182
|
+
styles: styles$Z
|
|
20161
20183
|
});
|
|
20162
20184
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCard());
|
|
20163
20185
|
|
|
20164
|
-
const styles$
|
|
20186
|
+
const styles$Y = css `
|
|
20165
20187
|
${display$2('inline-flex')}
|
|
20166
20188
|
|
|
20167
20189
|
:host {
|
|
@@ -20319,14 +20341,14 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20319
20341
|
const nimbleCardButton = CardButton.compose({
|
|
20320
20342
|
baseName: 'card-button',
|
|
20321
20343
|
template: buttonTemplate,
|
|
20322
|
-
styles: styles$
|
|
20344
|
+
styles: styles$Y,
|
|
20323
20345
|
shadowOptions: {
|
|
20324
20346
|
delegatesFocus: true
|
|
20325
20347
|
}
|
|
20326
20348
|
});
|
|
20327
20349
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCardButton());
|
|
20328
20350
|
|
|
20329
|
-
const styles$
|
|
20351
|
+
const styles$X = css `
|
|
20330
20352
|
.error-icon {
|
|
20331
20353
|
display: none;
|
|
20332
20354
|
}
|
|
@@ -20360,9 +20382,9 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20360
20382
|
}
|
|
20361
20383
|
`;
|
|
20362
20384
|
|
|
20363
|
-
const styles$
|
|
20385
|
+
const styles$W = css `
|
|
20364
20386
|
${display$2('inline-grid')}
|
|
20365
|
-
${styles$
|
|
20387
|
+
${styles$X}
|
|
20366
20388
|
|
|
20367
20389
|
:host {
|
|
20368
20390
|
font: ${bodyFont};
|
|
@@ -20556,7 +20578,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20556
20578
|
</div>
|
|
20557
20579
|
`;
|
|
20558
20580
|
|
|
20559
|
-
const template$
|
|
20581
|
+
const template$N = (_context, definition) => html `
|
|
20560
20582
|
<template
|
|
20561
20583
|
role="checkbox"
|
|
20562
20584
|
aria-checked="${x => x.checked}"
|
|
@@ -20572,15 +20594,15 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20572
20594
|
<div part="container" class="container">
|
|
20573
20595
|
<div part="control" class="control">
|
|
20574
20596
|
<slot name="checked-indicator">
|
|
20575
|
-
${definition.checkedIndicator
|
|
20597
|
+
${definition.checkedIndicator ?? ''}
|
|
20576
20598
|
</slot>
|
|
20577
20599
|
<slot name="indeterminate-indicator">
|
|
20578
|
-
${definition.indeterminateIndicator
|
|
20600
|
+
${definition.indeterminateIndicator ?? ''}
|
|
20579
20601
|
</slot>
|
|
20580
20602
|
</div>
|
|
20581
20603
|
<label
|
|
20582
20604
|
part="label"
|
|
20583
|
-
class="${x => (x.defaultSlottedNodes?.length
|
|
20605
|
+
class="${x => (x.defaultSlottedNodes?.length > 0
|
|
20584
20606
|
? 'label'
|
|
20585
20607
|
: 'label label__hidden')}"
|
|
20586
20608
|
>
|
|
@@ -20641,16 +20663,16 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20641
20663
|
const nimbleCheckbox = Checkbox.compose({
|
|
20642
20664
|
baseName: 'checkbox',
|
|
20643
20665
|
baseClass: Checkbox$1,
|
|
20644
|
-
template: template$
|
|
20645
|
-
styles: styles$
|
|
20666
|
+
template: template$N,
|
|
20667
|
+
styles: styles$W,
|
|
20646
20668
|
checkedIndicator: check16X16.data,
|
|
20647
20669
|
indeterminateIndicator: minus16X16.data
|
|
20648
20670
|
});
|
|
20649
20671
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleCheckbox());
|
|
20650
20672
|
const checkboxTag = 'nimble-checkbox';
|
|
20651
20673
|
|
|
20652
|
-
const styles$
|
|
20653
|
-
${styles$
|
|
20674
|
+
const styles$V = css `
|
|
20675
|
+
${styles$1a}
|
|
20654
20676
|
${buttonAppearanceVariantStyles}
|
|
20655
20677
|
|
|
20656
20678
|
@layer checked {
|
|
@@ -20697,7 +20719,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20697
20719
|
}
|
|
20698
20720
|
`));
|
|
20699
20721
|
|
|
20700
|
-
const template$
|
|
20722
|
+
const template$M = (context, definition) => html `
|
|
20701
20723
|
<div
|
|
20702
20724
|
role="button"
|
|
20703
20725
|
part="control"
|
|
@@ -20792,8 +20814,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20792
20814
|
applyMixins(ToggleButton, StartEnd, DelegatesARIAButton);
|
|
20793
20815
|
const nimbleToggleButton = ToggleButton.compose({
|
|
20794
20816
|
baseName: 'toggle-button',
|
|
20795
|
-
template: template$
|
|
20796
|
-
styles: styles$
|
|
20817
|
+
template: template$M,
|
|
20818
|
+
styles: styles$V,
|
|
20797
20819
|
shadowOptions: {
|
|
20798
20820
|
delegatesFocus: true
|
|
20799
20821
|
}
|
|
@@ -20823,7 +20845,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
20823
20845
|
frameless: 'frameless'
|
|
20824
20846
|
};
|
|
20825
20847
|
|
|
20826
|
-
const styles$
|
|
20848
|
+
const styles$U = css `
|
|
20827
20849
|
${display$2('inline-flex')}
|
|
20828
20850
|
|
|
20829
20851
|
:host {
|
|
@@ -21113,7 +21135,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21113
21135
|
}
|
|
21114
21136
|
`));
|
|
21115
21137
|
|
|
21116
|
-
const styles$
|
|
21138
|
+
const styles$T = css `
|
|
21117
21139
|
.annotated-label {
|
|
21118
21140
|
display: flex;
|
|
21119
21141
|
flex-direction: row;
|
|
@@ -21140,10 +21162,10 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21140
21162
|
none: undefined,
|
|
21141
21163
|
standard: 'standard'};
|
|
21142
21164
|
|
|
21143
|
-
const styles$
|
|
21144
|
-
${styles$
|
|
21145
|
-
${styles$
|
|
21146
|
-
${styles$
|
|
21165
|
+
const styles$S = css `
|
|
21166
|
+
${styles$U}
|
|
21167
|
+
${styles$X}
|
|
21168
|
+
${styles$T}
|
|
21147
21169
|
|
|
21148
21170
|
:host {
|
|
21149
21171
|
--ni-private-hover-bottom-border-width: 2px;
|
|
@@ -21264,7 +21286,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21264
21286
|
<slot></slot>
|
|
21265
21287
|
</label>
|
|
21266
21288
|
`);
|
|
21267
|
-
const template$
|
|
21289
|
+
const template$L = (context, definition) => html `
|
|
21268
21290
|
<template
|
|
21269
21291
|
aria-disabled="${x => x.ariaDisabled}"
|
|
21270
21292
|
autocomplete="${x => x.autocomplete}"
|
|
@@ -21302,7 +21324,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21302
21324
|
/>
|
|
21303
21325
|
<div class="indicator" part="indicator" aria-hidden="true">
|
|
21304
21326
|
<slot name="indicator">
|
|
21305
|
-
${definition.indicator
|
|
21327
|
+
${definition.indicator ?? ''}
|
|
21306
21328
|
</slot>
|
|
21307
21329
|
</div>
|
|
21308
21330
|
</slot>
|
|
@@ -21435,7 +21457,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21435
21457
|
set value(next) {
|
|
21436
21458
|
const prev = this._value;
|
|
21437
21459
|
let updatedValue = next;
|
|
21438
|
-
if (this.$fastController.isConnected
|
|
21460
|
+
if (this.$fastController.isConnected) {
|
|
21439
21461
|
const selectedIndex = this.findIndexOfValidOption(next);
|
|
21440
21462
|
const prevSelectedValue = this.options[this.selectedIndex]?.text;
|
|
21441
21463
|
const nextSelectedValue = this.options[selectedIndex]?.text;
|
|
@@ -21461,7 +21483,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21461
21483
|
*/
|
|
21462
21484
|
get options() {
|
|
21463
21485
|
Observable.track(this, 'options');
|
|
21464
|
-
return this.
|
|
21486
|
+
return this.filter
|
|
21465
21487
|
? this.filteredOptions
|
|
21466
21488
|
: this._options;
|
|
21467
21489
|
}
|
|
@@ -21575,12 +21597,12 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21575
21597
|
if (!this.isAutocompleteInline) {
|
|
21576
21598
|
this.selectedIndex = this.findIndexOfValidOption(this.control.value);
|
|
21577
21599
|
}
|
|
21578
|
-
if (!e.inputType.includes('deleteContent') && this.filter.length) {
|
|
21600
|
+
if (!e.inputType.includes('deleteContent') && this.filter.length > 0) {
|
|
21579
21601
|
if (this.isAutocompleteList && !this.open) {
|
|
21580
21602
|
this.open = true;
|
|
21581
21603
|
}
|
|
21582
21604
|
if (this.isAutocompleteInline) {
|
|
21583
|
-
if (this.filteredOptions.length) {
|
|
21605
|
+
if (this.filteredOptions.length > 0) {
|
|
21584
21606
|
this.selectedOptions = [this.filteredOptions[0]];
|
|
21585
21607
|
this.selectedIndex = this.options.indexOf(this.firstSelectedOption);
|
|
21586
21608
|
this.setInlineSelection();
|
|
@@ -21719,11 +21741,11 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21719
21741
|
* Overrides `Listbox.setDefaultSelectedOption`
|
|
21720
21742
|
*/
|
|
21721
21743
|
setDefaultSelectedOption() {
|
|
21722
|
-
if (this.$fastController.isConnected
|
|
21744
|
+
if (this.$fastController.isConnected) {
|
|
21723
21745
|
const selectedIndex = this.options.findIndex(el => !el.disabled
|
|
21724
21746
|
&& (el.getAttribute('selected') !== null || el.selected));
|
|
21725
21747
|
this.selectedIndex = selectedIndex;
|
|
21726
|
-
if (!this.dirtyValue && this.firstSelectedOption) {
|
|
21748
|
+
if (!this.dirtyValue && this.firstSelectedOption !== null) {
|
|
21727
21749
|
this.value = this.firstSelectedOption.text;
|
|
21728
21750
|
}
|
|
21729
21751
|
this.setSelectedOptions();
|
|
@@ -21840,7 +21862,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21840
21862
|
if (this.open) {
|
|
21841
21863
|
if (this.contains(document.activeElement)) {
|
|
21842
21864
|
this.control.focus();
|
|
21843
|
-
if (this.firstSelectedOption) {
|
|
21865
|
+
if (this.firstSelectedOption !== null) {
|
|
21844
21866
|
requestAnimationFrame(() => {
|
|
21845
21867
|
this.firstSelectedOption?.scrollIntoView({
|
|
21846
21868
|
block: 'nearest'
|
|
@@ -21901,12 +21923,12 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21901
21923
|
this.setPositioning();
|
|
21902
21924
|
}
|
|
21903
21925
|
regionChanged(_prev, _next) {
|
|
21904
|
-
if (this.region
|
|
21926
|
+
if (this.region) {
|
|
21905
21927
|
this.region.anchorElement = this.controlWrapper;
|
|
21906
21928
|
}
|
|
21907
21929
|
}
|
|
21908
21930
|
controlWrapperChanged(_prev, _next) {
|
|
21909
|
-
if (this.region
|
|
21931
|
+
if (this.region) {
|
|
21910
21932
|
this.region.anchorElement = this.controlWrapper;
|
|
21911
21933
|
}
|
|
21912
21934
|
}
|
|
@@ -21930,7 +21952,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21930
21952
|
* Focus and set the content of the control based on the first selected option.
|
|
21931
21953
|
*/
|
|
21932
21954
|
setInputToSelection() {
|
|
21933
|
-
if (this.firstSelectedOption) {
|
|
21955
|
+
if (this.firstSelectedOption !== null) {
|
|
21934
21956
|
this.control.value = this.firstSelectedOption.text;
|
|
21935
21957
|
this.control.focus();
|
|
21936
21958
|
}
|
|
@@ -21939,7 +21961,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
21939
21961
|
* Focus, set and select the content of the control based on the first selected option.
|
|
21940
21962
|
*/
|
|
21941
21963
|
setInlineSelection() {
|
|
21942
|
-
if (this.firstSelectedOption) {
|
|
21964
|
+
if (this.firstSelectedOption !== null) {
|
|
21943
21965
|
this.setInputToSelection();
|
|
21944
21966
|
this.control.setSelectionRange(this.filter.length, this.control.value.length, 'backward');
|
|
21945
21967
|
}
|
|
@@ -22039,8 +22061,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22039
22061
|
const nimbleCombobox = Combobox.compose({
|
|
22040
22062
|
baseName: 'combobox',
|
|
22041
22063
|
baseClass: FormAssociatedCombobox,
|
|
22042
|
-
template: template$
|
|
22043
|
-
styles: styles$
|
|
22064
|
+
template: template$L,
|
|
22065
|
+
styles: styles$S,
|
|
22044
22066
|
shadowOptions: {
|
|
22045
22067
|
delegatesFocus: true
|
|
22046
22068
|
},
|
|
@@ -22084,7 +22106,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22084
22106
|
*/
|
|
22085
22107
|
const UserDismissed = Symbol('user dismissed');
|
|
22086
22108
|
|
|
22087
|
-
const styles$
|
|
22109
|
+
const styles$R = css `
|
|
22088
22110
|
${display$2('grid')}
|
|
22089
22111
|
|
|
22090
22112
|
dialog {
|
|
@@ -22177,7 +22199,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22177
22199
|
}
|
|
22178
22200
|
`;
|
|
22179
22201
|
|
|
22180
|
-
const template$
|
|
22202
|
+
const template$K = html `
|
|
22181
22203
|
<template>
|
|
22182
22204
|
<dialog
|
|
22183
22205
|
${ref('dialogElement')}
|
|
@@ -22267,7 +22289,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22267
22289
|
this.doResolveShow(reason);
|
|
22268
22290
|
}
|
|
22269
22291
|
slottedFooterElementsChanged(_prev, next) {
|
|
22270
|
-
this.footerIsEmpty =
|
|
22292
|
+
this.footerIsEmpty = next === undefined || next.length === 0;
|
|
22271
22293
|
}
|
|
22272
22294
|
/**
|
|
22273
22295
|
* @internal
|
|
@@ -22325,13 +22347,13 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22325
22347
|
applyMixins(Dialog, ARIAGlobalStatesAndProperties);
|
|
22326
22348
|
const nimbleDialog = Dialog.compose({
|
|
22327
22349
|
baseName: 'dialog',
|
|
22328
|
-
template: template$
|
|
22329
|
-
styles: styles$
|
|
22350
|
+
template: template$K,
|
|
22351
|
+
styles: styles$R,
|
|
22330
22352
|
baseClass: Dialog
|
|
22331
22353
|
});
|
|
22332
22354
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDialog());
|
|
22333
22355
|
|
|
22334
|
-
const styles$
|
|
22356
|
+
const styles$Q = css `
|
|
22335
22357
|
${display$2('block')}
|
|
22336
22358
|
|
|
22337
22359
|
:host {
|
|
@@ -22474,7 +22496,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22474
22496
|
}
|
|
22475
22497
|
`;
|
|
22476
22498
|
|
|
22477
|
-
const template$
|
|
22499
|
+
const template$J = html `
|
|
22478
22500
|
<dialog
|
|
22479
22501
|
${ref('dialog')}
|
|
22480
22502
|
aria-label="${x => x.ariaLabel}"
|
|
@@ -22616,8 +22638,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
22616
22638
|
applyMixins(Drawer, ARIAGlobalStatesAndProperties);
|
|
22617
22639
|
const nimbleDrawer = Drawer.compose({
|
|
22618
22640
|
baseName: 'drawer',
|
|
22619
|
-
template: template$
|
|
22620
|
-
styles: styles$
|
|
22641
|
+
template: template$J,
|
|
22642
|
+
styles: styles$Q
|
|
22621
22643
|
});
|
|
22622
22644
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleDrawer());
|
|
22623
22645
|
|
|
@@ -25399,7 +25421,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25399
25421
|
}
|
|
25400
25422
|
}
|
|
25401
25423
|
|
|
25402
|
-
const styles$
|
|
25424
|
+
const styles$P = css `
|
|
25403
25425
|
${display$2('none')}
|
|
25404
25426
|
`;
|
|
25405
25427
|
|
|
@@ -25464,7 +25486,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25464
25486
|
], LabelProviderCore.prototype, "itemRemove", void 0);
|
|
25465
25487
|
const nimbleLabelProviderCore = LabelProviderCore.compose({
|
|
25466
25488
|
baseName: 'label-provider-core',
|
|
25467
|
-
styles: styles$
|
|
25489
|
+
styles: styles$P
|
|
25468
25490
|
});
|
|
25469
25491
|
DesignSystem.getOrCreate()
|
|
25470
25492
|
.withPrefix('nimble')
|
|
@@ -25631,13 +25653,13 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25631
25653
|
], LabelProviderTable.prototype, "groupRowPlaceholderEmpty", void 0);
|
|
25632
25654
|
const nimbleLabelProviderTable = LabelProviderTable.compose({
|
|
25633
25655
|
baseName: 'label-provider-table',
|
|
25634
|
-
styles: styles$
|
|
25656
|
+
styles: styles$P
|
|
25635
25657
|
});
|
|
25636
25658
|
DesignSystem.getOrCreate()
|
|
25637
25659
|
.withPrefix('nimble')
|
|
25638
25660
|
.register(nimbleLabelProviderTable());
|
|
25639
25661
|
|
|
25640
|
-
const styles$
|
|
25662
|
+
const styles$O = css `
|
|
25641
25663
|
${display$2('flex')}
|
|
25642
25664
|
|
|
25643
25665
|
:host {
|
|
@@ -25713,7 +25735,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25713
25735
|
* The template for the {@link @ni/fast-foundation#(ListboxOption:class)} component.
|
|
25714
25736
|
* @public
|
|
25715
25737
|
*/
|
|
25716
|
-
const template$
|
|
25738
|
+
const template$I = (context, definition) => html `
|
|
25717
25739
|
<template
|
|
25718
25740
|
aria-checked="${x => x.ariaChecked}"
|
|
25719
25741
|
aria-disabled="${x => x.ariaDisabled}"
|
|
@@ -25826,13 +25848,13 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25826
25848
|
const nimbleListOption = ListOption.compose({
|
|
25827
25849
|
baseName: 'list-option',
|
|
25828
25850
|
baseClass: ListboxOption,
|
|
25829
|
-
template: template$
|
|
25830
|
-
styles: styles$
|
|
25851
|
+
template: template$I,
|
|
25852
|
+
styles: styles$O
|
|
25831
25853
|
});
|
|
25832
25854
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleListOption());
|
|
25833
25855
|
const listOptionTag = 'nimble-list-option';
|
|
25834
25856
|
|
|
25835
|
-
const styles$
|
|
25857
|
+
const styles$N = css `
|
|
25836
25858
|
${display$2('flex')}
|
|
25837
25859
|
|
|
25838
25860
|
:host {
|
|
@@ -25894,7 +25916,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
25894
25916
|
const isListOption$1 = (n) => {
|
|
25895
25917
|
return n instanceof ListOption;
|
|
25896
25918
|
};
|
|
25897
|
-
const template$
|
|
25919
|
+
const template$H = html `
|
|
25898
25920
|
<template
|
|
25899
25921
|
role="group"
|
|
25900
25922
|
aria-label="${x => x.labelContent}"
|
|
@@ -26036,8 +26058,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26036
26058
|
const nimbleListOptionGroup = ListOptionGroup.compose({
|
|
26037
26059
|
baseName: 'list-option-group',
|
|
26038
26060
|
baseClass: FoundationElement,
|
|
26039
|
-
template: template$
|
|
26040
|
-
styles: styles$
|
|
26061
|
+
template: template$H,
|
|
26062
|
+
styles: styles$N
|
|
26041
26063
|
});
|
|
26042
26064
|
DesignSystem.getOrCreate()
|
|
26043
26065
|
.withPrefix('nimble')
|
|
@@ -26064,9 +26086,9 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26064
26086
|
attr()
|
|
26065
26087
|
], Mapping$1.prototype, "key", void 0);
|
|
26066
26088
|
|
|
26067
|
-
const template$
|
|
26089
|
+
const template$G = html `<template slot="mapping"></template>`;
|
|
26068
26090
|
|
|
26069
|
-
const styles$
|
|
26091
|
+
const styles$M = css `
|
|
26070
26092
|
${display$2('none')}
|
|
26071
26093
|
`;
|
|
26072
26094
|
|
|
@@ -26082,8 +26104,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26082
26104
|
], MappingEmpty.prototype, "text", void 0);
|
|
26083
26105
|
const emptyMapping = MappingEmpty.compose({
|
|
26084
26106
|
baseName: 'mapping-empty',
|
|
26085
|
-
template: template$
|
|
26086
|
-
styles: styles$
|
|
26107
|
+
template: template$G,
|
|
26108
|
+
styles: styles$M
|
|
26087
26109
|
});
|
|
26088
26110
|
DesignSystem.getOrCreate().withPrefix('nimble').register(emptyMapping());
|
|
26089
26111
|
|
|
@@ -26153,8 +26175,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26153
26175
|
], MappingIcon.prototype, "resolvedIcon", void 0);
|
|
26154
26176
|
const iconMapping = MappingIcon.compose({
|
|
26155
26177
|
baseName: 'mapping-icon',
|
|
26156
|
-
template: template$
|
|
26157
|
-
styles: styles$
|
|
26178
|
+
template: template$G,
|
|
26179
|
+
styles: styles$M
|
|
26158
26180
|
});
|
|
26159
26181
|
DesignSystem.getOrCreate().withPrefix('nimble').register(iconMapping());
|
|
26160
26182
|
|
|
@@ -26177,8 +26199,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26177
26199
|
], MappingSpinner.prototype, "textHidden", void 0);
|
|
26178
26200
|
const spinnerMapping = MappingSpinner.compose({
|
|
26179
26201
|
baseName: 'mapping-spinner',
|
|
26180
|
-
template: template$
|
|
26181
|
-
styles: styles$
|
|
26202
|
+
template: template$G,
|
|
26203
|
+
styles: styles$M
|
|
26182
26204
|
});
|
|
26183
26205
|
DesignSystem.getOrCreate().withPrefix('nimble').register(spinnerMapping());
|
|
26184
26206
|
|
|
@@ -26194,8 +26216,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26194
26216
|
], MappingText.prototype, "text", void 0);
|
|
26195
26217
|
const textMapping = MappingText.compose({
|
|
26196
26218
|
baseName: 'mapping-text',
|
|
26197
|
-
template: template$
|
|
26198
|
-
styles: styles$
|
|
26219
|
+
template: template$G,
|
|
26220
|
+
styles: styles$M
|
|
26199
26221
|
});
|
|
26200
26222
|
DesignSystem.getOrCreate().withPrefix('nimble').register(textMapping());
|
|
26201
26223
|
|
|
@@ -26262,7 +26284,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26262
26284
|
// closing an expanded item without opening another
|
|
26263
26285
|
if (this.expandedItem !== null
|
|
26264
26286
|
&& changedItem === this.expandedItem
|
|
26265
|
-
&& changedItem.expanded
|
|
26287
|
+
&& !changedItem.expanded) {
|
|
26266
26288
|
this.expandedItem = null;
|
|
26267
26289
|
return;
|
|
26268
26290
|
}
|
|
@@ -26291,7 +26313,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26291
26313
|
this.menuItems = newItems;
|
|
26292
26314
|
const menuItems = this.menuItems.filter(this.isMenuItemElement);
|
|
26293
26315
|
// if our focus index is not -1 we have items
|
|
26294
|
-
if (menuItems.length) {
|
|
26316
|
+
if (menuItems.length > 0) {
|
|
26295
26317
|
this.focusIndex = 0;
|
|
26296
26318
|
}
|
|
26297
26319
|
function elementIndent(el) {
|
|
@@ -26334,7 +26356,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26334
26356
|
return;
|
|
26335
26357
|
}
|
|
26336
26358
|
if (changedMenuItem.role === 'menuitemradio'
|
|
26337
|
-
&& changedMenuItem.checked
|
|
26359
|
+
&& changedMenuItem.checked) {
|
|
26338
26360
|
for (let i = changeItemIndex - 1; i >= 0; --i) {
|
|
26339
26361
|
const item = this.menuItems[i];
|
|
26340
26362
|
const role = item.getAttribute('role');
|
|
@@ -26497,7 +26519,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26497
26519
|
observable
|
|
26498
26520
|
], Menu$1.prototype, "itemIcons", void 0);
|
|
26499
26521
|
|
|
26500
|
-
const template$
|
|
26522
|
+
const template$F = () => html `
|
|
26501
26523
|
<template
|
|
26502
26524
|
slot="${x => {
|
|
26503
26525
|
if (x.slot) {
|
|
@@ -26514,7 +26536,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26514
26536
|
</template>
|
|
26515
26537
|
`;
|
|
26516
26538
|
|
|
26517
|
-
const styles$
|
|
26539
|
+
const styles$L = css `
|
|
26518
26540
|
${display$2('grid')}
|
|
26519
26541
|
|
|
26520
26542
|
:host {
|
|
@@ -26585,8 +26607,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26585
26607
|
const nimbleMenu = Menu.compose({
|
|
26586
26608
|
baseName: 'menu',
|
|
26587
26609
|
baseClass: Menu$1,
|
|
26588
|
-
template: template$
|
|
26589
|
-
styles: styles$
|
|
26610
|
+
template: template$F,
|
|
26611
|
+
styles: styles$L
|
|
26590
26612
|
});
|
|
26591
26613
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenu());
|
|
26592
26614
|
|
|
@@ -26601,7 +26623,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26601
26623
|
auto: 'auto'
|
|
26602
26624
|
};
|
|
26603
26625
|
|
|
26604
|
-
const styles$
|
|
26626
|
+
const styles$K = css `
|
|
26605
26627
|
${display$2('inline-block')}
|
|
26606
26628
|
|
|
26607
26629
|
:host {
|
|
@@ -26619,7 +26641,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26619
26641
|
}
|
|
26620
26642
|
`;
|
|
26621
26643
|
|
|
26622
|
-
const template$
|
|
26644
|
+
const template$E = html `
|
|
26623
26645
|
<template
|
|
26624
26646
|
?open="${x => x.open}"
|
|
26625
26647
|
@focusout="${(x, c) => x.focusoutHandler(c.event)}"
|
|
@@ -26800,7 +26822,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26800
26822
|
// Get the menu that is slotted within the menu-button, taking into account
|
|
26801
26823
|
// that it may be nested within multiple 'slot' elements, such as when used
|
|
26802
26824
|
// within a table.
|
|
26803
|
-
if (!this.slottedMenus
|
|
26825
|
+
if (!this.slottedMenus || this.slottedMenus.length === 0) {
|
|
26804
26826
|
return undefined;
|
|
26805
26827
|
}
|
|
26806
26828
|
let currentItem = this.slottedMenus[0];
|
|
@@ -26831,7 +26853,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26831
26853
|
}
|
|
26832
26854
|
focusLastMenuItem() {
|
|
26833
26855
|
const menuItems = this.getMenu()?.querySelectorAll('[role=menuitem]');
|
|
26834
|
-
if (menuItems
|
|
26856
|
+
if (menuItems && menuItems.length > 0) {
|
|
26835
26857
|
const lastMenuItem = menuItems[menuItems.length - 1];
|
|
26836
26858
|
lastMenuItem.focus();
|
|
26837
26859
|
}
|
|
@@ -26869,8 +26891,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26869
26891
|
], MenuButton.prototype, "slottedMenus", void 0);
|
|
26870
26892
|
const nimbleMenuButton = MenuButton.compose({
|
|
26871
26893
|
baseName: 'menu-button',
|
|
26872
|
-
template: template$
|
|
26873
|
-
styles: styles$
|
|
26894
|
+
template: template$E,
|
|
26895
|
+
styles: styles$K,
|
|
26874
26896
|
shadowOptions: {
|
|
26875
26897
|
delegatesFocus: true
|
|
26876
26898
|
}
|
|
@@ -26878,7 +26900,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26878
26900
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuButton());
|
|
26879
26901
|
const menuButtonTag = 'nimble-menu-button';
|
|
26880
26902
|
|
|
26881
|
-
const styles$
|
|
26903
|
+
const styles$J = css `
|
|
26882
26904
|
${display$2('grid')}
|
|
26883
26905
|
|
|
26884
26906
|
:host {
|
|
@@ -26975,7 +26997,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26975
26997
|
baseName: 'menu-item',
|
|
26976
26998
|
baseClass: MenuItem$1,
|
|
26977
26999
|
template: menuItemTemplate,
|
|
26978
|
-
styles: styles$
|
|
27000
|
+
styles: styles$J,
|
|
26979
27001
|
expandCollapseGlyph: arrowExpanderRight16X16.data
|
|
26980
27002
|
});
|
|
26981
27003
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleMenuItem());
|
|
@@ -26990,10 +27012,10 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
26990
27012
|
frameless: 'frameless'
|
|
26991
27013
|
};
|
|
26992
27014
|
|
|
26993
|
-
const styles$
|
|
27015
|
+
const styles$I = css `
|
|
26994
27016
|
${display$2('inline-block')}
|
|
26995
|
-
${styles$
|
|
26996
|
-
${styles$
|
|
27017
|
+
${styles$X}
|
|
27018
|
+
${styles$T}
|
|
26997
27019
|
|
|
26998
27020
|
:host {
|
|
26999
27021
|
font: ${bodyFont};
|
|
@@ -27208,7 +27230,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27208
27230
|
const labelTemplate$4 = createRequiredVisibleLabelTemplate(html `<label
|
|
27209
27231
|
part="label"
|
|
27210
27232
|
for="control"
|
|
27211
|
-
class="${x => (x.defaultSlottedNodes?.length ? 'label' : 'label label__hidden')}"
|
|
27233
|
+
class="${x => (x.defaultSlottedNodes?.length > 0 ? 'label' : 'label label__hidden')}"
|
|
27212
27234
|
>
|
|
27213
27235
|
<slot ${slotted('defaultSlottedNodes')}></slot>
|
|
27214
27236
|
</label>`);
|
|
@@ -27216,7 +27238,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27216
27238
|
* The template for the {@link @ni/fast-foundation#(NumberField:class)} component.
|
|
27217
27239
|
* @public
|
|
27218
27240
|
*/
|
|
27219
|
-
const template$
|
|
27241
|
+
const template$D = (context, definition) => html `
|
|
27220
27242
|
<template class="${x => (x.readOnly ? 'readonly' : '')}">
|
|
27221
27243
|
${labelTemplate$4}
|
|
27222
27244
|
<div class="root" part="root">
|
|
@@ -27273,7 +27295,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27273
27295
|
@click="${x => x.stepUp()}"
|
|
27274
27296
|
>
|
|
27275
27297
|
<slot name="step-up-glyph">
|
|
27276
|
-
${definition.stepUpGlyph
|
|
27298
|
+
${definition.stepUpGlyph ?? ''}
|
|
27277
27299
|
</slot>
|
|
27278
27300
|
</div>
|
|
27279
27301
|
<div
|
|
@@ -27282,7 +27304,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27282
27304
|
@click="${x => x.stepDown()}"
|
|
27283
27305
|
>
|
|
27284
27306
|
<slot name="step-down-glyph">
|
|
27285
|
-
${definition.stepDownGlyph
|
|
27307
|
+
${definition.stepDownGlyph ?? ''}
|
|
27286
27308
|
</slot>
|
|
27287
27309
|
</div>
|
|
27288
27310
|
</div>
|
|
@@ -27370,8 +27392,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27370
27392
|
const nimbleNumberField = NumberField.compose({
|
|
27371
27393
|
baseName: 'number-field',
|
|
27372
27394
|
baseClass: NumberField$1,
|
|
27373
|
-
template: template$
|
|
27374
|
-
styles: styles$
|
|
27395
|
+
template: template$D,
|
|
27396
|
+
styles: styles$I,
|
|
27375
27397
|
shadowOptions: {
|
|
27376
27398
|
delegatesFocus: true
|
|
27377
27399
|
},
|
|
@@ -27414,7 +27436,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27414
27436
|
});
|
|
27415
27437
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleNumberField());
|
|
27416
27438
|
|
|
27417
|
-
const styles$
|
|
27439
|
+
const styles$H = css `
|
|
27418
27440
|
${display$2('inline-flex')}
|
|
27419
27441
|
|
|
27420
27442
|
:host {
|
|
@@ -27514,15 +27536,15 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27514
27536
|
baseName: 'radio',
|
|
27515
27537
|
baseClass: Radio$1,
|
|
27516
27538
|
template: radioTemplate,
|
|
27517
|
-
styles: styles$
|
|
27539
|
+
styles: styles$H,
|
|
27518
27540
|
checkedIndicator: circleFilled16X16.data
|
|
27519
27541
|
});
|
|
27520
27542
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleRadio());
|
|
27521
27543
|
|
|
27522
|
-
const styles$
|
|
27544
|
+
const styles$G = css `
|
|
27523
27545
|
${display$2('inline-block')}
|
|
27524
|
-
${styles$
|
|
27525
|
-
${styles$
|
|
27546
|
+
${styles$X}
|
|
27547
|
+
${styles$T}
|
|
27526
27548
|
|
|
27527
27549
|
.positioning-region {
|
|
27528
27550
|
display: flex;
|
|
@@ -27561,7 +27583,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27561
27583
|
`;
|
|
27562
27584
|
|
|
27563
27585
|
const labelTemplate$3 = createRequiredVisibleLabelTemplate(html `<slot name="label"></slot>`);
|
|
27564
|
-
const template$
|
|
27586
|
+
const template$C = html `
|
|
27565
27587
|
<template
|
|
27566
27588
|
role="radiogroup"
|
|
27567
27589
|
aria-disabled="${x => x.disabled}"
|
|
@@ -27601,8 +27623,8 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
27601
27623
|
const nimbleRadioGroup = RadioGroup.compose({
|
|
27602
27624
|
baseName: 'radio-group',
|
|
27603
27625
|
baseClass: RadioGroup$1,
|
|
27604
|
-
template: template$
|
|
27605
|
-
styles: styles$
|
|
27626
|
+
template: template$C,
|
|
27627
|
+
styles: styles$G,
|
|
27606
27628
|
shadowOptions: {
|
|
27607
27629
|
delegatesFocus: true
|
|
27608
27630
|
}
|
|
@@ -31538,7 +31560,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31538
31560
|
JSON-serialization identifier using
|
|
31539
31561
|
[`Step.jsonID`](https://prosemirror.net/docs/ref/#transform.Step^jsonID).
|
|
31540
31562
|
*/
|
|
31541
|
-
class Step {
|
|
31563
|
+
let Step$1 = class Step {
|
|
31542
31564
|
/**
|
|
31543
31565
|
Get the step map that represents the changes made by this step,
|
|
31544
31566
|
and which can be used to transform between positions in the old
|
|
@@ -31576,7 +31598,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31576
31598
|
stepClass.prototype.jsonID = id;
|
|
31577
31599
|
return stepClass;
|
|
31578
31600
|
}
|
|
31579
|
-
}
|
|
31601
|
+
};
|
|
31580
31602
|
/**
|
|
31581
31603
|
The result of [applying](https://prosemirror.net/docs/ref/#transform.Step.apply) a step. Contains either a
|
|
31582
31604
|
new document or a failure value.
|
|
@@ -31637,7 +31659,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31637
31659
|
/**
|
|
31638
31660
|
Add a mark to all inline content between two positions.
|
|
31639
31661
|
*/
|
|
31640
|
-
class AddMarkStep extends Step {
|
|
31662
|
+
class AddMarkStep extends Step$1 {
|
|
31641
31663
|
/**
|
|
31642
31664
|
Create a mark step.
|
|
31643
31665
|
*/
|
|
@@ -31698,11 +31720,11 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31698
31720
|
return new AddMarkStep(json.from, json.to, schema.markFromJSON(json.mark));
|
|
31699
31721
|
}
|
|
31700
31722
|
}
|
|
31701
|
-
Step.jsonID("addMark", AddMarkStep);
|
|
31723
|
+
Step$1.jsonID("addMark", AddMarkStep);
|
|
31702
31724
|
/**
|
|
31703
31725
|
Remove a mark from all inline content between two positions.
|
|
31704
31726
|
*/
|
|
31705
|
-
class RemoveMarkStep extends Step {
|
|
31727
|
+
class RemoveMarkStep extends Step$1 {
|
|
31706
31728
|
/**
|
|
31707
31729
|
Create a mark-removing step.
|
|
31708
31730
|
*/
|
|
@@ -31760,11 +31782,11 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31760
31782
|
return new RemoveMarkStep(json.from, json.to, schema.markFromJSON(json.mark));
|
|
31761
31783
|
}
|
|
31762
31784
|
}
|
|
31763
|
-
Step.jsonID("removeMark", RemoveMarkStep);
|
|
31785
|
+
Step$1.jsonID("removeMark", RemoveMarkStep);
|
|
31764
31786
|
/**
|
|
31765
31787
|
Add a mark to a specific node.
|
|
31766
31788
|
*/
|
|
31767
|
-
class AddNodeMarkStep extends Step {
|
|
31789
|
+
class AddNodeMarkStep extends Step$1 {
|
|
31768
31790
|
/**
|
|
31769
31791
|
Create a node mark step.
|
|
31770
31792
|
*/
|
|
@@ -31817,11 +31839,11 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31817
31839
|
return new AddNodeMarkStep(json.pos, schema.markFromJSON(json.mark));
|
|
31818
31840
|
}
|
|
31819
31841
|
}
|
|
31820
|
-
Step.jsonID("addNodeMark", AddNodeMarkStep);
|
|
31842
|
+
Step$1.jsonID("addNodeMark", AddNodeMarkStep);
|
|
31821
31843
|
/**
|
|
31822
31844
|
Remove a mark from a specific node.
|
|
31823
31845
|
*/
|
|
31824
|
-
class RemoveNodeMarkStep extends Step {
|
|
31846
|
+
class RemoveNodeMarkStep extends Step$1 {
|
|
31825
31847
|
/**
|
|
31826
31848
|
Create a mark-removing step.
|
|
31827
31849
|
*/
|
|
@@ -31867,12 +31889,12 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31867
31889
|
return new RemoveNodeMarkStep(json.pos, schema.markFromJSON(json.mark));
|
|
31868
31890
|
}
|
|
31869
31891
|
}
|
|
31870
|
-
Step.jsonID("removeNodeMark", RemoveNodeMarkStep);
|
|
31892
|
+
Step$1.jsonID("removeNodeMark", RemoveNodeMarkStep);
|
|
31871
31893
|
|
|
31872
31894
|
/**
|
|
31873
31895
|
Replace a part of the document with a slice of new content.
|
|
31874
31896
|
*/
|
|
31875
|
-
class ReplaceStep extends Step {
|
|
31897
|
+
class ReplaceStep extends Step$1 {
|
|
31876
31898
|
/**
|
|
31877
31899
|
The given `slice` should fit the 'gap' between `from` and
|
|
31878
31900
|
`to`—the depths must line up, and the surrounding nodes must be
|
|
@@ -31956,13 +31978,13 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
31956
31978
|
return new ReplaceStep(json.from, json.to, Slice.fromJSON(schema, json.slice), !!json.structure);
|
|
31957
31979
|
}
|
|
31958
31980
|
}
|
|
31959
|
-
Step.jsonID("replace", ReplaceStep);
|
|
31981
|
+
Step$1.jsonID("replace", ReplaceStep);
|
|
31960
31982
|
/**
|
|
31961
31983
|
Replace a part of the document with a slice of content, but
|
|
31962
31984
|
preserve a range of the replaced content by moving it into the
|
|
31963
31985
|
slice.
|
|
31964
31986
|
*/
|
|
31965
|
-
class ReplaceAroundStep extends Step {
|
|
31987
|
+
class ReplaceAroundStep extends Step$1 {
|
|
31966
31988
|
/**
|
|
31967
31989
|
Create a replace-around step with the given range and gap.
|
|
31968
31990
|
`insert` should be the point in the slice into which the content
|
|
@@ -32055,7 +32077,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
32055
32077
|
return new ReplaceAroundStep(json.from, json.to, json.gapFrom, json.gapTo, Slice.fromJSON(schema, json.slice), json.insert, !!json.structure);
|
|
32056
32078
|
}
|
|
32057
32079
|
}
|
|
32058
|
-
Step.jsonID("replaceAround", ReplaceAroundStep);
|
|
32080
|
+
Step$1.jsonID("replaceAround", ReplaceAroundStep);
|
|
32059
32081
|
function contentBetween(doc, from, to) {
|
|
32060
32082
|
let $from = doc.resolve(from), dist = to - from, depth = $from.depth;
|
|
32061
32083
|
while (dist > 0 && depth > 0 && $from.indexAfter(depth) == $from.node(depth).childCount) {
|
|
@@ -32979,7 +33001,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
32979
33001
|
/**
|
|
32980
33002
|
Update an attribute in a specific node.
|
|
32981
33003
|
*/
|
|
32982
|
-
class AttrStep extends Step {
|
|
33004
|
+
class AttrStep extends Step$1 {
|
|
32983
33005
|
/**
|
|
32984
33006
|
Construct an attribute step.
|
|
32985
33007
|
*/
|
|
@@ -33029,11 +33051,11 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
33029
33051
|
return new AttrStep(json.pos, json.attr, json.value);
|
|
33030
33052
|
}
|
|
33031
33053
|
}
|
|
33032
|
-
Step.jsonID("attr", AttrStep);
|
|
33054
|
+
Step$1.jsonID("attr", AttrStep);
|
|
33033
33055
|
/**
|
|
33034
33056
|
Update an attribute in the doc node.
|
|
33035
33057
|
*/
|
|
33036
|
-
class DocAttrStep extends Step {
|
|
33058
|
+
class DocAttrStep extends Step$1 {
|
|
33037
33059
|
/**
|
|
33038
33060
|
Construct an attribute step.
|
|
33039
33061
|
*/
|
|
@@ -33074,7 +33096,7 @@ so this becomes the fallback color for the slot */ ''}
|
|
|
33074
33096
|
return new DocAttrStep(json.attr, json.value);
|
|
33075
33097
|
}
|
|
33076
33098
|
}
|
|
33077
|
-
Step.jsonID("docAttr", DocAttrStep);
|
|
33099
|
+
Step$1.jsonID("docAttr", DocAttrStep);
|
|
33078
33100
|
|
|
33079
33101
|
/**
|
|
33080
33102
|
@internal
|
|
@@ -46746,7 +46768,7 @@ ${renderedContent}
|
|
|
46746
46768
|
// src/index.ts
|
|
46747
46769
|
var index_default$7 = HardBreak;
|
|
46748
46770
|
|
|
46749
|
-
const styles$
|
|
46771
|
+
const styles$F = css `
|
|
46750
46772
|
${display$2('inline')}
|
|
46751
46773
|
|
|
46752
46774
|
.positioning-region {
|
|
@@ -46783,7 +46805,7 @@ ${renderedContent}
|
|
|
46783
46805
|
baseName: 'toolbar',
|
|
46784
46806
|
baseClass: Toolbar$1,
|
|
46785
46807
|
template: toolbarTemplate,
|
|
46786
|
-
styles: styles$
|
|
46808
|
+
styles: styles$F
|
|
46787
46809
|
});
|
|
46788
46810
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleToolbar());
|
|
46789
46811
|
const toolbarTag = 'nimble-toolbar';
|
|
@@ -46812,8 +46834,8 @@ ${renderedContent}
|
|
|
46812
46834
|
cssCustomPropertyName: null
|
|
46813
46835
|
}).withDefault(richTextLabelDefaults.richTextToggleNumberedListLabel);
|
|
46814
46836
|
|
|
46815
|
-
const styles$
|
|
46816
|
-
${styles$
|
|
46837
|
+
const styles$E = css `
|
|
46838
|
+
${styles$U}
|
|
46817
46839
|
|
|
46818
46840
|
:host {
|
|
46819
46841
|
height: auto;
|
|
@@ -46831,7 +46853,7 @@ ${renderedContent}
|
|
|
46831
46853
|
}
|
|
46832
46854
|
`;
|
|
46833
46855
|
|
|
46834
|
-
const template$
|
|
46856
|
+
const template$B = html `
|
|
46835
46857
|
<template>
|
|
46836
46858
|
<${anchoredRegionTag}
|
|
46837
46859
|
${ref('region')}
|
|
@@ -46932,7 +46954,7 @@ ${renderedContent}
|
|
|
46932
46954
|
*/
|
|
46933
46955
|
get options() {
|
|
46934
46956
|
Observable.track(this, 'options');
|
|
46935
|
-
return this.filteredOptions?.length ? this.filteredOptions : [];
|
|
46957
|
+
return this.filteredOptions?.length > 0 ? this.filteredOptions : [];
|
|
46936
46958
|
}
|
|
46937
46959
|
set options(value) {
|
|
46938
46960
|
this._options = value;
|
|
@@ -47002,7 +47024,7 @@ ${renderedContent}
|
|
|
47002
47024
|
this._options.forEach(o => {
|
|
47003
47025
|
o.hidden = !this.filteredOptions.includes(o);
|
|
47004
47026
|
});
|
|
47005
|
-
if (this.filteredOptions.length) {
|
|
47027
|
+
if (this.filteredOptions.length > 0) {
|
|
47006
47028
|
this.selectedOptions = [this.filteredOptions[0]];
|
|
47007
47029
|
this.selectedIndex = this.options.indexOf(this.firstSelectedOption);
|
|
47008
47030
|
}
|
|
@@ -47092,7 +47114,7 @@ ${renderedContent}
|
|
|
47092
47114
|
* Overrides: `Listbox.focusAndScrollOptionIntoView`
|
|
47093
47115
|
*/
|
|
47094
47116
|
focusAndScrollOptionIntoView() {
|
|
47095
|
-
if (this.open && this.firstSelectedOption) {
|
|
47117
|
+
if (this.open && this.firstSelectedOption !== null) {
|
|
47096
47118
|
requestAnimationFrame(() => {
|
|
47097
47119
|
this.firstSelectedOption?.scrollIntoView({ block: 'nearest' });
|
|
47098
47120
|
});
|
|
@@ -47119,15 +47141,15 @@ ${renderedContent}
|
|
|
47119
47141
|
], RichTextMentionListbox.prototype, "anchorElement", void 0);
|
|
47120
47142
|
const nimbleRichTextMentionListbox = RichTextMentionListbox.compose({
|
|
47121
47143
|
baseName: 'rich-text-mention-listbox',
|
|
47122
|
-
template: template$
|
|
47123
|
-
styles: styles$
|
|
47144
|
+
template: template$B,
|
|
47145
|
+
styles: styles$E
|
|
47124
47146
|
});
|
|
47125
47147
|
DesignSystem.getOrCreate()
|
|
47126
47148
|
.withPrefix('nimble')
|
|
47127
47149
|
.register(nimbleRichTextMentionListbox());
|
|
47128
47150
|
const richTextMentionListboxTag = 'nimble-rich-text-mention-listbox';
|
|
47129
47151
|
|
|
47130
|
-
const template$
|
|
47152
|
+
const template$A = html `
|
|
47131
47153
|
<template
|
|
47132
47154
|
${children$1({ property: 'childItems', filter: elements() })}
|
|
47133
47155
|
@focusout="${x => x.focusoutHandler()}"
|
|
@@ -47229,9 +47251,9 @@ ${renderedContent}
|
|
|
47229
47251
|
</template>
|
|
47230
47252
|
`;
|
|
47231
47253
|
|
|
47232
|
-
const styles$
|
|
47254
|
+
const styles$D = css `
|
|
47233
47255
|
${display$2('inline-flex')}
|
|
47234
|
-
${styles$
|
|
47256
|
+
${styles$X}
|
|
47235
47257
|
|
|
47236
47258
|
:host {
|
|
47237
47259
|
font: ${bodyFont};
|
|
@@ -56890,7 +56912,7 @@ ${renderedContent}
|
|
|
56890
56912
|
* https://github.com/ProseMirror/prosemirror-markdown/blob/b7c1fd2fb74c7564bfe5428c7c8141ded7ebdd9f/src/to_markdown.ts#L94C2-L101C7
|
|
56891
56913
|
*/
|
|
56892
56914
|
const orderedListNode = function orderedList(state, node) {
|
|
56893
|
-
const start = node.attrs.start
|
|
56915
|
+
const start = node.attrs.start ?? 1;
|
|
56894
56916
|
const maxW = String(start + node.childCount - 1).length;
|
|
56895
56917
|
const space = state.repeat(' ', maxW + 2);
|
|
56896
56918
|
state.renderList(node, space, i => {
|
|
@@ -57261,7 +57283,7 @@ ${renderedContent}
|
|
|
57261
57283
|
};
|
|
57262
57284
|
}
|
|
57263
57285
|
isValid() {
|
|
57264
|
-
return Object.values(this.getValidity()).every(x => x
|
|
57286
|
+
return Object.values(this.getValidity()).every(x => !x);
|
|
57265
57287
|
}
|
|
57266
57288
|
validate(mentions) {
|
|
57267
57289
|
this.validateDuplicateMentionConfigurations(mentions);
|
|
@@ -63004,7 +63026,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63004
63026
|
const updatedNodes = [];
|
|
63005
63027
|
fragment.forEach(node => {
|
|
63006
63028
|
if (node.isText && node.marks.length > 0) {
|
|
63007
|
-
const linkMark = node.marks.find(mark => mark.type.name === 'link'
|
|
63029
|
+
const linkMark = node.marks.find(mark => mark.type.name === 'link');
|
|
63008
63030
|
if (linkMark) {
|
|
63009
63031
|
// Checks if the link is valid link or not
|
|
63010
63032
|
// Needing to separately validate the link on paste is a workaround for a tiptap issue
|
|
@@ -63129,7 +63151,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63129
63151
|
if (node.type.name.startsWith(mentionPluginPrefix)) {
|
|
63130
63152
|
hasMention = true;
|
|
63131
63153
|
}
|
|
63132
|
-
const continueDescent = hasMention
|
|
63154
|
+
const continueDescent = !hasMention;
|
|
63133
63155
|
return continueDescent;
|
|
63134
63156
|
});
|
|
63135
63157
|
return !hasMention;
|
|
@@ -63605,8 +63627,8 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63605
63627
|
applyMixins(RichTextEditor, ARIAGlobalStatesAndProperties);
|
|
63606
63628
|
const nimbleRichTextEditor = RichTextEditor.compose({
|
|
63607
63629
|
baseName: 'rich-text-editor',
|
|
63608
|
-
template: template$
|
|
63609
|
-
styles: styles$
|
|
63630
|
+
template: template$A,
|
|
63631
|
+
styles: styles$D,
|
|
63610
63632
|
shadowOptions: {
|
|
63611
63633
|
delegatesFocus: true
|
|
63612
63634
|
}
|
|
@@ -63615,13 +63637,13 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63615
63637
|
.withPrefix('nimble')
|
|
63616
63638
|
.register(nimbleRichTextEditor());
|
|
63617
63639
|
|
|
63618
|
-
const template$
|
|
63640
|
+
const template$z = html `
|
|
63619
63641
|
<template ${children$1({ property: 'childItems', filter: elements() })}>
|
|
63620
63642
|
<div ${ref('viewer')} class="viewer"></div>
|
|
63621
63643
|
</template>
|
|
63622
63644
|
`;
|
|
63623
63645
|
|
|
63624
|
-
const styles$
|
|
63646
|
+
const styles$C = css `
|
|
63625
63647
|
${display$2('flex')}
|
|
63626
63648
|
|
|
63627
63649
|
:host {
|
|
@@ -63734,17 +63756,17 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63734
63756
|
], RichTextViewer.prototype, "markdown", void 0);
|
|
63735
63757
|
const nimbleRichTextViewer = RichTextViewer.compose({
|
|
63736
63758
|
baseName: 'rich-text-viewer',
|
|
63737
|
-
template: template$
|
|
63738
|
-
styles: styles$
|
|
63759
|
+
template: template$z,
|
|
63760
|
+
styles: styles$C
|
|
63739
63761
|
});
|
|
63740
63762
|
DesignSystem.getOrCreate()
|
|
63741
63763
|
.withPrefix('nimble')
|
|
63742
63764
|
.register(nimbleRichTextViewer());
|
|
63743
63765
|
|
|
63744
|
-
const styles$
|
|
63745
|
-
${styles$
|
|
63746
|
-
${styles$
|
|
63747
|
-
${styles$
|
|
63766
|
+
const styles$B = css `
|
|
63767
|
+
${styles$U}
|
|
63768
|
+
${styles$X}
|
|
63769
|
+
${styles$T}
|
|
63748
63770
|
|
|
63749
63771
|
${
|
|
63750
63772
|
/* We are using flex `order` to define the visual ordering of the selected value,
|
|
@@ -63907,7 +63929,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
63907
63929
|
}
|
|
63908
63930
|
`));
|
|
63909
63931
|
|
|
63910
|
-
const styles$
|
|
63932
|
+
const styles$A = css `
|
|
63911
63933
|
${display$2('inline-grid')}
|
|
63912
63934
|
|
|
63913
63935
|
:host {
|
|
@@ -64077,7 +64099,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64077
64099
|
}
|
|
64078
64100
|
`));
|
|
64079
64101
|
|
|
64080
|
-
const template$
|
|
64102
|
+
const template$y = html `
|
|
64081
64103
|
<template role="progressbar">
|
|
64082
64104
|
${''
|
|
64083
64105
|
/**
|
|
@@ -64124,8 +64146,8 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64124
64146
|
], Spinner.prototype, "appearance", void 0);
|
|
64125
64147
|
const nimbleSpinner = Spinner.compose({
|
|
64126
64148
|
baseName: 'spinner',
|
|
64127
|
-
template: template$
|
|
64128
|
-
styles: styles$
|
|
64149
|
+
template: template$y,
|
|
64150
|
+
styles: styles$A
|
|
64129
64151
|
});
|
|
64130
64152
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSpinner());
|
|
64131
64153
|
const spinnerTag = 'nimble-spinner';
|
|
@@ -64141,7 +64163,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64141
64163
|
<slot ${ref('labelSlot')}></slot>
|
|
64142
64164
|
</label>
|
|
64143
64165
|
`);
|
|
64144
|
-
const template$
|
|
64166
|
+
const template$x = (context, definition) => html `
|
|
64145
64167
|
<template
|
|
64146
64168
|
class="${x => [
|
|
64147
64169
|
x.collapsible && 'collapsible',
|
|
@@ -64193,7 +64215,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64193
64215
|
`)}
|
|
64194
64216
|
<div aria-hidden="true" class="indicator" part="indicator">
|
|
64195
64217
|
<slot name="indicator">
|
|
64196
|
-
${definition.indicator
|
|
64218
|
+
${definition.indicator ?? ''}
|
|
64197
64219
|
</slot>
|
|
64198
64220
|
</div>
|
|
64199
64221
|
</slot>
|
|
@@ -64385,7 +64407,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64385
64407
|
set value(next) {
|
|
64386
64408
|
const prev = this._value;
|
|
64387
64409
|
let newValue = next;
|
|
64388
|
-
if (this.options
|
|
64410
|
+
if (this.options !== undefined && this.options.length > 0) {
|
|
64389
64411
|
const newValueIndex = this.options.findIndex(el => el.value === newValue);
|
|
64390
64412
|
const prevSelectedValue = this.options[this.selectedIndex]?.value ?? null;
|
|
64391
64413
|
const nextSelectedValue = this.options[newValueIndex]?.value ?? null;
|
|
@@ -64414,7 +64436,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64414
64436
|
* @internal
|
|
64415
64437
|
*/
|
|
64416
64438
|
anchoredRegionChanged(_prev, _next) {
|
|
64417
|
-
if (this.anchoredRegion && this.control) {
|
|
64439
|
+
if (this.anchoredRegion !== undefined && this.control !== undefined) {
|
|
64418
64440
|
this.anchoredRegion.anchorElement = this.control;
|
|
64419
64441
|
}
|
|
64420
64442
|
}
|
|
@@ -64422,7 +64444,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64422
64444
|
* @internal
|
|
64423
64445
|
*/
|
|
64424
64446
|
controlChanged(_prev, _next) {
|
|
64425
|
-
if (this.anchoredRegion && this.control) {
|
|
64447
|
+
if (this.anchoredRegion !== undefined && this.control !== undefined) {
|
|
64426
64448
|
this.anchoredRegion.anchorElement = this.control;
|
|
64427
64449
|
}
|
|
64428
64450
|
}
|
|
@@ -64579,9 +64601,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64579
64601
|
*/
|
|
64580
64602
|
multipleChanged(prev, next) {
|
|
64581
64603
|
super.multipleChanged(prev, next);
|
|
64582
|
-
|
|
64583
|
-
this.proxy.multiple = next;
|
|
64584
|
-
}
|
|
64604
|
+
this.proxy.multiple = next;
|
|
64585
64605
|
}
|
|
64586
64606
|
/**
|
|
64587
64607
|
* @internal
|
|
@@ -64638,7 +64658,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64638
64658
|
if (this.filterMode !== FilterMode.none) {
|
|
64639
64659
|
this.emitFilterInputEvent();
|
|
64640
64660
|
}
|
|
64641
|
-
if (e.inputType.includes('deleteContent') ||
|
|
64661
|
+
if (e.inputType.includes('deleteContent') || this.filter.length === 0) {
|
|
64642
64662
|
return true;
|
|
64643
64663
|
}
|
|
64644
64664
|
e.stopPropagation();
|
|
@@ -64807,7 +64827,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64807
64827
|
typeaheadBufferChanged(_, __) {
|
|
64808
64828
|
if (this.$fastController.isConnected) {
|
|
64809
64829
|
const typeaheadMatches = this.getTypeaheadMatches();
|
|
64810
|
-
if (typeaheadMatches.length) {
|
|
64830
|
+
if (typeaheadMatches.length > 0) {
|
|
64811
64831
|
const activeOptionIndex = this.options.indexOf(typeaheadMatches[0]);
|
|
64812
64832
|
if (!(this.open && this.filterMode !== FilterMode.none)) {
|
|
64813
64833
|
this.setActiveOption(activeOptionIndex);
|
|
@@ -64940,9 +64960,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
64940
64960
|
*/
|
|
64941
64961
|
sizeChanged(prev, next) {
|
|
64942
64962
|
super.sizeChanged(prev, next);
|
|
64943
|
-
|
|
64944
|
-
this.proxy.size = next;
|
|
64945
|
-
}
|
|
64963
|
+
this.proxy.size = next;
|
|
64946
64964
|
}
|
|
64947
64965
|
openChanged() {
|
|
64948
64966
|
if (!this.collapsible) {
|
|
@@ -65247,14 +65265,14 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
65247
65265
|
* @internal
|
|
65248
65266
|
*/
|
|
65249
65267
|
setProxyOptions() {
|
|
65250
|
-
if (this.proxy instanceof HTMLSelectElement && this.options) {
|
|
65268
|
+
if (this.proxy instanceof HTMLSelectElement && this.options !== null) {
|
|
65251
65269
|
this.proxy.options.length = 0;
|
|
65252
65270
|
this.options.forEach(option => {
|
|
65253
65271
|
const proxyOption = option.proxy
|
|
65254
|
-
|
|
65272
|
+
?? (option instanceof HTMLOptionElement
|
|
65255
65273
|
? option.cloneNode()
|
|
65256
65274
|
: null);
|
|
65257
|
-
if (proxyOption) {
|
|
65275
|
+
if (proxyOption !== null) {
|
|
65258
65276
|
this.proxy.options.add(proxyOption);
|
|
65259
65277
|
}
|
|
65260
65278
|
});
|
|
@@ -65282,7 +65300,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
65282
65300
|
return;
|
|
65283
65301
|
}
|
|
65284
65302
|
const selectedOption = this.firstSelectedOption;
|
|
65285
|
-
if (selectedOption) {
|
|
65303
|
+
if (selectedOption !== null) {
|
|
65286
65304
|
this.selectedOptionObserver?.observe(selectedOption, {
|
|
65287
65305
|
characterData: true,
|
|
65288
65306
|
subtree: true,
|
|
@@ -65357,8 +65375,8 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
65357
65375
|
const nimbleSelect = Select.compose({
|
|
65358
65376
|
baseName: 'select',
|
|
65359
65377
|
baseClass: Select$2,
|
|
65360
|
-
template: template$
|
|
65361
|
-
styles: styles$
|
|
65378
|
+
template: template$x,
|
|
65379
|
+
styles: styles$B,
|
|
65362
65380
|
indicator: arrowExpanderDown16X16.data,
|
|
65363
65381
|
end: html `
|
|
65364
65382
|
<${iconExclamationMarkTag}
|
|
@@ -65371,6 +65389,46 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
65371
65389
|
applyMixins(Select, StartEnd, DelegatesARIASelect);
|
|
65372
65390
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleSelect());
|
|
65373
65391
|
|
|
65392
|
+
const styles$z = css `
|
|
65393
|
+
${display$2('flex')}
|
|
65394
|
+
`;
|
|
65395
|
+
|
|
65396
|
+
const template$w = html `
|
|
65397
|
+
<template>step</template>
|
|
65398
|
+
`;
|
|
65399
|
+
|
|
65400
|
+
/**
|
|
65401
|
+
* A nimble-styled step for a stepper
|
|
65402
|
+
*/
|
|
65403
|
+
class Step extends FoundationElement {
|
|
65404
|
+
}
|
|
65405
|
+
const nimbleStep = Step.compose({
|
|
65406
|
+
baseName: 'step',
|
|
65407
|
+
template: template$w,
|
|
65408
|
+
styles: styles$z
|
|
65409
|
+
});
|
|
65410
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleStep());
|
|
65411
|
+
|
|
65412
|
+
const styles$y = css `
|
|
65413
|
+
${display$2('flex')}
|
|
65414
|
+
`;
|
|
65415
|
+
|
|
65416
|
+
const template$v = html `
|
|
65417
|
+
<template>stepper: <slot></slot></template>
|
|
65418
|
+
`;
|
|
65419
|
+
|
|
65420
|
+
/**
|
|
65421
|
+
* A nimble-styled stepper
|
|
65422
|
+
*/
|
|
65423
|
+
class Stepper extends FoundationElement {
|
|
65424
|
+
}
|
|
65425
|
+
const nimbleStepper = Stepper.compose({
|
|
65426
|
+
baseName: 'stepper',
|
|
65427
|
+
template: template$v,
|
|
65428
|
+
styles: styles$y
|
|
65429
|
+
});
|
|
65430
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleStepper());
|
|
65431
|
+
|
|
65374
65432
|
const styles$x = css `
|
|
65375
65433
|
${display$2('inline-flex')}
|
|
65376
65434
|
|
|
@@ -65546,7 +65604,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
65546
65604
|
>
|
|
65547
65605
|
<label
|
|
65548
65606
|
part="label"
|
|
65549
|
-
class="${x => (x.defaultSlottedNodes?.length ? 'label' : 'label label__hidden')}"
|
|
65607
|
+
class="${x => (x.defaultSlottedNodes?.length > 0 ? 'label' : 'label label__hidden')}"
|
|
65550
65608
|
>
|
|
65551
65609
|
<slot ${slotted('defaultSlottedNodes')}></slot>
|
|
65552
65610
|
</label>
|
|
@@ -69348,7 +69406,7 @@ ${nextLine.slice(indentLevel + 2)}`;
|
|
|
69348
69406
|
};
|
|
69349
69407
|
}
|
|
69350
69408
|
isValid() {
|
|
69351
|
-
return Object.values(this.getValidity()).every(x => x
|
|
69409
|
+
return Object.values(this.getValidity()).every(x => !x);
|
|
69352
69410
|
}
|
|
69353
69411
|
areRecordIdsValid() {
|
|
69354
69412
|
const validity = this.getValidity();
|
|
@@ -72075,7 +72133,7 @@ focus outline in that case.
|
|
|
72075
72133
|
return this.getVisibleColumns()
|
|
72076
72134
|
.map(column => {
|
|
72077
72135
|
const { minPixelWidth, currentPixelWidth, currentFractionalWidth } = column.columnInternals;
|
|
72078
|
-
if (currentPixelWidth) {
|
|
72136
|
+
if (currentPixelWidth !== undefined) {
|
|
72079
72137
|
const coercedPixelWidth = Math.max(minPixelWidth, currentPixelWidth);
|
|
72080
72138
|
return `${coercedPixelWidth}px`;
|
|
72081
72139
|
}
|
|
@@ -72537,7 +72595,7 @@ focus outline in that case.
|
|
|
72537
72595
|
const allRows = [];
|
|
72538
72596
|
for (const row of topLevelRows) {
|
|
72539
72597
|
allRows.push(row);
|
|
72540
|
-
if (row.subRows?.length) {
|
|
72598
|
+
if (row.subRows?.length > 0) {
|
|
72541
72599
|
allRows.push(...this.getOrderedRows(row.subRows));
|
|
72542
72600
|
}
|
|
72543
72601
|
}
|
|
@@ -72792,10 +72850,8 @@ focus outline in that case.
|
|
|
72792
72850
|
originalIndex: undefined
|
|
72793
72851
|
};
|
|
72794
72852
|
}
|
|
72795
|
-
//
|
|
72796
|
-
|
|
72797
|
-
orphanIds.delete(itemId);
|
|
72798
|
-
}
|
|
72853
|
+
// delete this item from the orphan set if it is in it
|
|
72854
|
+
orphanIds.delete(itemId);
|
|
72799
72855
|
// add the current item's data to the item in the lookup table
|
|
72800
72856
|
lookup[itemId].clientRecord = item;
|
|
72801
72857
|
const treeItem = lookup[itemId];
|
|
@@ -72815,16 +72871,14 @@ focus outline in that case.
|
|
|
72815
72871
|
clientRecord: undefined,
|
|
72816
72872
|
originalIndex: undefined
|
|
72817
72873
|
};
|
|
72818
|
-
//
|
|
72819
|
-
|
|
72820
|
-
orphanIds.add(parentId);
|
|
72821
|
-
}
|
|
72874
|
+
// add the generated parent to the orphan list
|
|
72875
|
+
orphanIds.add(parentId);
|
|
72822
72876
|
}
|
|
72823
72877
|
// add the current item to the parent
|
|
72824
72878
|
lookup[parentId].subRows.push(treeItem);
|
|
72825
72879
|
}
|
|
72826
72880
|
}
|
|
72827
|
-
if (orphanIds
|
|
72881
|
+
if (orphanIds.size > 0) {
|
|
72828
72882
|
const orphans = Array.from(orphanIds.values()).join(',');
|
|
72829
72883
|
throw new Error(`The items array contains orphans that point to the following parentIds: [${orphans}]. These parentIds do not exist in the items array.`);
|
|
72830
72884
|
}
|
|
@@ -72839,7 +72893,7 @@ focus outline in that case.
|
|
|
72839
72893
|
* @returns Number of nodes in the tree
|
|
72840
72894
|
*/
|
|
72841
72895
|
function countNodes(tree) {
|
|
72842
|
-
return tree.reduce((sum, n) => sum + 1 + (n.subRows
|
|
72896
|
+
return tree.reduce((sum, n) => sum + 1 + (n.subRows ? countNodes(n.subRows) : 0), 0);
|
|
72843
72897
|
}
|
|
72844
72898
|
|
|
72845
72899
|
/**
|
|
@@ -74905,7 +74959,7 @@ focus outline in that case.
|
|
|
74905
74959
|
calculateTanStackSortState() {
|
|
74906
74960
|
const sortedColumns = this.getColumnsParticipatingInSorting().sort((x, y) => x.columnInternals.currentSortIndex
|
|
74907
74961
|
- y.columnInternals.currentSortIndex);
|
|
74908
|
-
this.firstSortedColumn = sortedColumns.length
|
|
74962
|
+
this.firstSortedColumn = sortedColumns.length > 0
|
|
74909
74963
|
? sortedColumns[0]
|
|
74910
74964
|
: undefined;
|
|
74911
74965
|
return sortedColumns.map(column => {
|
|
@@ -76109,13 +76163,13 @@ focus outline in that case.
|
|
|
76109
76163
|
}
|
|
76110
76164
|
const hours = Math.floor((milliseconds / millisecondsPerHour) % 24);
|
|
76111
76165
|
remainingTime -= hours * millisecondsPerHour;
|
|
76112
|
-
if (hours) {
|
|
76166
|
+
if (hours !== 0) {
|
|
76113
76167
|
const formattedHours = this.hoursFormatter.format(hours);
|
|
76114
76168
|
result.push(formattedHours);
|
|
76115
76169
|
}
|
|
76116
76170
|
const minutes = Math.floor((milliseconds / millisecondsPerMinute) % 60);
|
|
76117
76171
|
remainingTime -= minutes * millisecondsPerMinute;
|
|
76118
|
-
if (minutes) {
|
|
76172
|
+
if (minutes !== 0) {
|
|
76119
76173
|
const formattedMinutes = this.minutesFormatter.format(minutes);
|
|
76120
76174
|
result.push(formattedMinutes);
|
|
76121
76175
|
}
|
|
@@ -77614,7 +77668,7 @@ focus outline in that case.
|
|
|
77614
77668
|
.register(nimbleTableColumnText());
|
|
77615
77669
|
|
|
77616
77670
|
const styles$g = css `
|
|
77617
|
-
${styles$
|
|
77671
|
+
${styles$15}
|
|
77618
77672
|
|
|
77619
77673
|
.tabpanel {
|
|
77620
77674
|
overflow: auto;
|
|
@@ -77695,7 +77749,7 @@ focus outline in that case.
|
|
|
77695
77749
|
const nimbleTabs = Tabs.compose({
|
|
77696
77750
|
baseName: 'tabs',
|
|
77697
77751
|
baseClass: Tabs$1,
|
|
77698
|
-
template: template$
|
|
77752
|
+
template: template$R,
|
|
77699
77753
|
styles: styles$g
|
|
77700
77754
|
});
|
|
77701
77755
|
DesignSystem.getOrCreate().withPrefix('nimble').register(nimbleTabs());
|
|
@@ -77777,8 +77831,8 @@ focus outline in that case.
|
|
|
77777
77831
|
|
|
77778
77832
|
const styles$e = css `
|
|
77779
77833
|
${display$2('inline-flex')}
|
|
77780
|
-
${styles$
|
|
77781
|
-
${styles$
|
|
77834
|
+
${styles$X}
|
|
77835
|
+
${styles$T}
|
|
77782
77836
|
|
|
77783
77837
|
:host {
|
|
77784
77838
|
font: ${bodyFont};
|
|
@@ -77965,7 +78019,7 @@ focus outline in that case.
|
|
|
77965
78019
|
<label
|
|
77966
78020
|
part="label"
|
|
77967
78021
|
for="control"
|
|
77968
|
-
class="${x => (x.defaultSlottedNodes?.length ? 'label' : 'label label__hidden')}"
|
|
78022
|
+
class="${x => (x.defaultSlottedNodes?.length > 0 ? 'label' : 'label label__hidden')}"
|
|
77969
78023
|
>
|
|
77970
78024
|
<slot ${slotted('defaultSlottedNodes')}></slot>
|
|
77971
78025
|
</label>
|
|
@@ -78138,8 +78192,8 @@ focus outline in that case.
|
|
|
78138
78192
|
|
|
78139
78193
|
const styles$d = css `
|
|
78140
78194
|
${display$2('inline-block')}
|
|
78141
|
-
${styles$
|
|
78142
|
-
${styles$
|
|
78195
|
+
${styles$X}
|
|
78196
|
+
${styles$T}
|
|
78143
78197
|
|
|
78144
78198
|
:host {
|
|
78145
78199
|
font: ${bodyFont};
|
|
@@ -78400,7 +78454,7 @@ focus outline in that case.
|
|
|
78400
78454
|
const labelTemplate = createRequiredVisibleLabelTemplate(html `<label
|
|
78401
78455
|
part="label"
|
|
78402
78456
|
for="control"
|
|
78403
|
-
class="${x => (x.defaultSlottedNodes?.length ? 'label' : 'label label__hidden')}"
|
|
78457
|
+
class="${x => (x.defaultSlottedNodes?.length > 0 ? 'label' : 'label label__hidden')}"
|
|
78404
78458
|
>
|
|
78405
78459
|
<slot
|
|
78406
78460
|
${slotted({
|
|
@@ -95117,7 +95171,7 @@ focus outline in that case.
|
|
|
95117
95171
|
}
|
|
95118
95172
|
const dieWidth = this.wafermap.dataManager.dieDimensions.width;
|
|
95119
95173
|
const dieHeight = this.wafermap.dataManager.dieDimensions.height;
|
|
95120
|
-
const dieSize = dieWidth * dieHeight * (this.wafermap.transform.k
|
|
95174
|
+
const dieSize = dieWidth * dieHeight * (this.wafermap.transform.k !== 0 ? this.wafermap.transform.k : 1);
|
|
95121
95175
|
if (dieSize >= this.minDieDim) {
|
|
95122
95176
|
const fontsize = this.wafermap.dataManager.labelsFontSize;
|
|
95123
95177
|
const context = this.wafermap.canvasContext;
|
|
@@ -95311,7 +95365,7 @@ focus outline in that case.
|
|
|
95311
95365
|
};
|
|
95312
95366
|
}
|
|
95313
95367
|
isValid() {
|
|
95314
|
-
return Object.values(this.getValidity()).every(x => x
|
|
95368
|
+
return Object.values(this.getValidity()).every(x => !x);
|
|
95315
95369
|
}
|
|
95316
95370
|
validateGridDimensions() {
|
|
95317
95371
|
this.invalidGridDimensions = false;
|
|
@@ -95706,7 +95760,7 @@ focus outline in that case.
|
|
|
95706
95760
|
.join("-");
|
|
95707
95761
|
}
|
|
95708
95762
|
|
|
95709
|
-
const workerCode = "var MatrixRenderer = (function (exports) {\n 'use strict';\n\n /**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n const proxyMarker = Symbol(\"Comlink.proxy\");\n const createEndpoint = Symbol(\"Comlink.endpoint\");\n const releaseProxy = Symbol(\"Comlink.releaseProxy\");\n const finalizer = Symbol(\"Comlink.finalizer\");\n const throwMarker = Symbol(\"Comlink.thrown\");\n const isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n /**\n * Internal transfer handle to handle objects marked to proxy.\n */\n const proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n };\n /**\n * Internal transfer handler to handle thrown exceptions.\n */\n const throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n };\n /**\n * Allows customizing the serialization of certain values.\n */\n const transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n ]);\n function isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n }\n function expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n }\n function isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n }\n function closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n }\n function wrap(ep, target) {\n const pendingListeners = new Map();\n ep.addEventListener(\"message\", function handleMessage(ev) {\n const { data } = ev;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n try {\n resolver(data);\n }\n finally {\n pendingListeners.delete(data.id);\n }\n });\n return createProxy(ep, pendingListeners, [], target);\n }\n function throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n }\n function releaseEndpoint(ep) {\n return requestResponseMessage(ep, new Map(), {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n }\n const proxyCounter = new WeakMap();\n const proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\n function registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n }\n function unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n }\n function createProxy(ep, pendingListeners, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, pendingListeners, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, pendingListeners, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n }\n function myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n }\n function processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n }\n const transferCache = new WeakMap();\n function transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n }\n function proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n }\n function toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n }\n function fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n }\n function requestResponseMessage(ep, pendingListeners, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n }\n function generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n }\n\n /**\n * MatrixRenderer class is meant to be used within a Web Worker context,\n * using Comlink to facilitate communication between the main thread and the worker.\n * The MatrixRenderer class manages a matrix of dies, once an instance of MatrixRenderer is created,\n * it is exposed to the main thread using Comlink's `expose` method.\n * This setup is used in the wafer-map component to perform heavy computational duties\n */\n class MatrixRenderer {\n constructor() {\n this.values = Float64Array.from([]);\n this.scaledColumnIndices = Float64Array.from([]);\n this.scaledRowIndices = Float64Array.from([]);\n this.columnIndicesPositions = Int32Array.from([]);\n this.colorIndices = Int32Array.from([]);\n this.colors = [];\n this.colorValues = Float64Array.from([]);\n this.outsideRangeDieColor = 'rgba(218,223,236,1)';\n this.fontSizeFactor = 0.8;\n this.renderConfig = {\n dieDimensions: {\n width: 0,\n height: 0\n },\n margin: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n verticalCoefficient: 1,\n horizontalCoefficient: 1,\n horizontalConstant: 0,\n verticalConstant: 0,\n gridMinX: 0,\n gridMaxX: 0,\n gridMinY: 0,\n gridMaxY: 0,\n labelsFontSize: 0,\n colorScale: [],\n dieLabelsSuffix: '',\n maxCharacters: 0\n };\n this.transformConfig = {\n transform: {\n k: 1,\n x: 0,\n y: 0\n },\n topLeftCanvasCorner: {\n x: 0,\n y: 0\n },\n bottomRightCanvasCorner: {\n x: 0,\n y: 0\n }\n };\n }\n setMatrixData(columnIndices, rowIndices, valuesBuffer) {\n const scaledColumnIndex = [];\n const columnPositions = [];\n const scaledRowIndices = [];\n const values = [];\n const colorIndices = [];\n let prevXIndex;\n let dieCount = 0;\n for (let i = 0; i < columnIndices.length; i++) {\n const xIndex = columnIndices[i];\n const yIndex = rowIndices[i];\n if (this.isDieInGrid(xIndex, yIndex)) {\n if (xIndex !== prevXIndex) {\n scaledColumnIndex.push(this.calculateHorizontalScaledIndices(xIndex));\n columnPositions.push(dieCount);\n prevXIndex = xIndex;\n }\n scaledRowIndices.push(this.calculateVerticalScaledIndices(yIndex));\n const value = valuesBuffer[i];\n values.push(value);\n colorIndices.push(this.findColorIndex(value));\n dieCount += 1;\n }\n }\n this.scaledColumnIndices = Float64Array.from(scaledColumnIndex);\n this.columnIndicesPositions = Int32Array.from(columnPositions);\n this.scaledRowIndices = Float64Array.from(scaledRowIndices);\n this.values = Float64Array.from(values);\n this.colorIndices = Int32Array.from(colorIndices);\n }\n setRenderConfig(renderConfig) {\n this.renderConfig = renderConfig;\n this.colors = renderConfig.colorScale.map(marker => marker.color);\n this.colorValues = Float64Array.from(renderConfig.colorScale.map(marker => marker.value));\n }\n setTransformConfig(transformData) {\n this.transformConfig = transformData;\n }\n setCanvas(canvas) {\n this.canvas = canvas;\n this.context = canvas.getContext('2d');\n }\n scaleCanvas() {\n this.context.translate(this.transformConfig.transform.x, this.transformConfig.transform.y);\n this.context.scale(this.transformConfig.transform.k, this.transformConfig.transform.k);\n }\n setCanvasDimensions(data) {\n this.canvas.width = data.width;\n this.canvas.height = data.height;\n }\n getCanvasDimensions() {\n return {\n width: this.canvas.width,\n height: this.canvas.height\n };\n }\n clearCanvas() {\n this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n drawWafer() {\n this.context.restore();\n this.context.save();\n this.clearCanvas();\n this.scaleCanvas();\n for (let i = 0; i < this.scaledColumnIndices.length; i++) {\n const scaledX = this.scaledColumnIndices[i];\n if (!(scaledX >= this.transformConfig.topLeftCanvasCorner.x\n && scaledX < this.transformConfig.bottomRightCanvasCorner.x)) {\n continue;\n }\n // columnIndexPositions is used to get chunks to determine the start and end index of the column, it looks something like [0, 1, 4, 9, 12]\n // This means that the first column has a start index of 0 and an end index of 1, the second column has a start index of 1 and an end index of 4, and so on\n // scaledRowIndices is used when we reach the end of the columnIndexPositions, when columnIndexPositions is [0, 1, 4, 9, 12], scaledRowIndices is 13\n const columnEndIndex = this.columnIndicesPositions[i + 1] !== undefined\n ? this.columnIndicesPositions[i + 1]\n : this.scaledRowIndices.length;\n for (let columnStartIndex = this.columnIndicesPositions[i]; columnStartIndex < columnEndIndex; columnStartIndex++) {\n const scaledY = this.scaledRowIndices[columnStartIndex];\n if (!(scaledY >= this.transformConfig.topLeftCanvasCorner.y\n && scaledY < this.transformConfig.bottomRightCanvasCorner.y)) {\n continue;\n }\n // Fill style is temporary green for all dies, will be replaced with a color based on the value of the die in a future implementation\n this.context.fillStyle = this.colors[this.colorIndices[columnStartIndex]]\n ?? this.outsideRangeDieColor;\n this.context.fillRect(scaledX, scaledY, this.renderConfig.dieDimensions.width, this.renderConfig.dieDimensions.height);\n }\n }\n }\n drawText() {\n this.context.font = `${this.renderConfig.labelsFontSize.toString()}px sans-serif`;\n this.context.fillStyle = '#ffffff';\n this.context.textAlign = 'center';\n this.context.lineCap = 'butt';\n const approximateTextHeight = this.context.measureText('M');\n for (let i = 0; i < this.scaledColumnIndices.length; i++) {\n const scaledX = this.scaledColumnIndices[i];\n if (!(scaledX >= this.transformConfig.topLeftCanvasCorner.x\n && scaledX < this.transformConfig.bottomRightCanvasCorner.x)) {\n continue;\n }\n // columnIndexPositions is used to get chunks to determine the start and end index of the column, it looks something like [0, 1, 4, 9, 12]\n // This means that the first column has a start index of 0 and an end index of 1, the second column has a start index of 1 and an end index of 4, and so on\n // scaledRowIndices is used when we reach the end of the columnIndexPositions, when columnIndexPositions is [0, 1, 4, 9, 12], scaledRowIndices is 13\n const columnEndIndex = this.columnIndicesPositions[i + 1] !== undefined\n ? this.columnIndicesPositions[i + 1]\n : this.scaledRowIndices.length;\n for (let columnStartIndex = this.columnIndicesPositions[i]; columnStartIndex < columnEndIndex; columnStartIndex++) {\n const scaledY = this.scaledRowIndices[columnStartIndex];\n if (!(scaledY >= this.transformConfig.topLeftCanvasCorner.y\n && scaledY < this.transformConfig.bottomRightCanvasCorner.y)) {\n continue;\n }\n let label = `${this.values[columnStartIndex] || 'NaN'}${this.renderConfig.dieLabelsSuffix}`;\n if (label.length >= this.renderConfig.maxCharacters) {\n label = `${label.substring(0, this.renderConfig.maxCharacters)}…`;\n }\n this.context.fillText(label, scaledX + this.renderConfig.dieDimensions.width / 2, scaledY\n + this.renderConfig.dieDimensions.height / 2\n + approximateTextHeight.width / 2, this.renderConfig.dieDimensions.width * this.fontSizeFactor);\n }\n }\n }\n isDieInGrid(x, y) {\n return (x >= this.renderConfig.gridMinX\n && x <= this.renderConfig.gridMaxX\n && y >= this.renderConfig.gridMinY\n && y <= this.renderConfig.gridMaxY);\n }\n calculateHorizontalScaledIndices(columnIndex) {\n return (this.renderConfig.horizontalCoefficient * columnIndex\n + this.renderConfig.horizontalConstant\n + this.renderConfig.margin.left);\n }\n calculateVerticalScaledIndices(rowIndex) {\n return (this.renderConfig.verticalCoefficient * rowIndex\n + this.renderConfig.verticalConstant\n + this.renderConfig.margin.top);\n }\n findColorIndex(value) {\n let index = -1;\n if (this.colorValues.length === 0 || this.colorValues[0] >= value) {\n return index;\n }\n for (let i = 0; i < this.colorValues.length; i++) {\n if (value <= this.colorValues[i]) {\n index = i;\n break;\n }\n }\n return index;\n }\n }\n expose(MatrixRenderer);\n\n exports.MatrixRenderer = MatrixRenderer;\n\n return exports;\n\n})({});\n";
|
|
95763
|
+
const workerCode = "var MatrixRenderer = (function (exports) {\n 'use strict';\n\n /**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n const proxyMarker = Symbol(\"Comlink.proxy\");\n const createEndpoint = Symbol(\"Comlink.endpoint\");\n const releaseProxy = Symbol(\"Comlink.releaseProxy\");\n const finalizer = Symbol(\"Comlink.finalizer\");\n const throwMarker = Symbol(\"Comlink.thrown\");\n const isObject = (val) => (typeof val === \"object\" && val !== null) || typeof val === \"function\";\n /**\n * Internal transfer handle to handle objects marked to proxy.\n */\n const proxyTransferHandler = {\n canHandle: (val) => isObject(val) && val[proxyMarker],\n serialize(obj) {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port1);\n return [port2, [port2]];\n },\n deserialize(port) {\n port.start();\n return wrap(port);\n },\n };\n /**\n * Internal transfer handler to handle thrown exceptions.\n */\n const throwTransferHandler = {\n canHandle: (value) => isObject(value) && throwMarker in value,\n serialize({ value }) {\n let serialized;\n if (value instanceof Error) {\n serialized = {\n isError: true,\n value: {\n message: value.message,\n name: value.name,\n stack: value.stack,\n },\n };\n }\n else {\n serialized = { isError: false, value };\n }\n return [serialized, []];\n },\n deserialize(serialized) {\n if (serialized.isError) {\n throw Object.assign(new Error(serialized.value.message), serialized.value);\n }\n throw serialized.value;\n },\n };\n /**\n * Allows customizing the serialization of certain values.\n */\n const transferHandlers = new Map([\n [\"proxy\", proxyTransferHandler],\n [\"throw\", throwTransferHandler],\n ]);\n function isAllowedOrigin(allowedOrigins, origin) {\n for (const allowedOrigin of allowedOrigins) {\n if (origin === allowedOrigin || allowedOrigin === \"*\") {\n return true;\n }\n if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {\n return true;\n }\n }\n return false;\n }\n function expose(obj, ep = globalThis, allowedOrigins = [\"*\"]) {\n ep.addEventListener(\"message\", function callback(ev) {\n if (!ev || !ev.data) {\n return;\n }\n if (!isAllowedOrigin(allowedOrigins, ev.origin)) {\n console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);\n return;\n }\n const { id, type, path } = Object.assign({ path: [] }, ev.data);\n const argumentList = (ev.data.argumentList || []).map(fromWireValue);\n let returnValue;\n try {\n const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);\n const rawValue = path.reduce((obj, prop) => obj[prop], obj);\n switch (type) {\n case \"GET\" /* MessageType.GET */:\n {\n returnValue = rawValue;\n }\n break;\n case \"SET\" /* MessageType.SET */:\n {\n parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);\n returnValue = true;\n }\n break;\n case \"APPLY\" /* MessageType.APPLY */:\n {\n returnValue = rawValue.apply(parent, argumentList);\n }\n break;\n case \"CONSTRUCT\" /* MessageType.CONSTRUCT */:\n {\n const value = new rawValue(...argumentList);\n returnValue = proxy(value);\n }\n break;\n case \"ENDPOINT\" /* MessageType.ENDPOINT */:\n {\n const { port1, port2 } = new MessageChannel();\n expose(obj, port2);\n returnValue = transfer(port1, [port1]);\n }\n break;\n case \"RELEASE\" /* MessageType.RELEASE */:\n {\n returnValue = undefined;\n }\n break;\n default:\n return;\n }\n }\n catch (value) {\n returnValue = { value, [throwMarker]: 0 };\n }\n Promise.resolve(returnValue)\n .catch((value) => {\n return { value, [throwMarker]: 0 };\n })\n .then((returnValue) => {\n const [wireValue, transferables] = toWireValue(returnValue);\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n if (type === \"RELEASE\" /* MessageType.RELEASE */) {\n // detach and deactive after sending release response above.\n ep.removeEventListener(\"message\", callback);\n closeEndPoint(ep);\n if (finalizer in obj && typeof obj[finalizer] === \"function\") {\n obj[finalizer]();\n }\n }\n })\n .catch((error) => {\n // Send Serialization Error To Caller\n const [wireValue, transferables] = toWireValue({\n value: new TypeError(\"Unserializable return value\"),\n [throwMarker]: 0,\n });\n ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);\n });\n });\n if (ep.start) {\n ep.start();\n }\n }\n function isMessagePort(endpoint) {\n return endpoint.constructor.name === \"MessagePort\";\n }\n function closeEndPoint(endpoint) {\n if (isMessagePort(endpoint))\n endpoint.close();\n }\n function wrap(ep, target) {\n const pendingListeners = new Map();\n ep.addEventListener(\"message\", function handleMessage(ev) {\n const { data } = ev;\n if (!data || !data.id) {\n return;\n }\n const resolver = pendingListeners.get(data.id);\n if (!resolver) {\n return;\n }\n try {\n resolver(data);\n }\n finally {\n pendingListeners.delete(data.id);\n }\n });\n return createProxy(ep, pendingListeners, [], target);\n }\n function throwIfProxyReleased(isReleased) {\n if (isReleased) {\n throw new Error(\"Proxy has been released and is not useable\");\n }\n }\n function releaseEndpoint(ep) {\n return requestResponseMessage(ep, new Map(), {\n type: \"RELEASE\" /* MessageType.RELEASE */,\n }).then(() => {\n closeEndPoint(ep);\n });\n }\n const proxyCounter = new WeakMap();\n const proxyFinalizers = \"FinalizationRegistry\" in globalThis &&\n new FinalizationRegistry((ep) => {\n const newCount = (proxyCounter.get(ep) || 0) - 1;\n proxyCounter.set(ep, newCount);\n if (newCount === 0) {\n releaseEndpoint(ep);\n }\n });\n function registerProxy(proxy, ep) {\n const newCount = (proxyCounter.get(ep) || 0) + 1;\n proxyCounter.set(ep, newCount);\n if (proxyFinalizers) {\n proxyFinalizers.register(proxy, ep, proxy);\n }\n }\n function unregisterProxy(proxy) {\n if (proxyFinalizers) {\n proxyFinalizers.unregister(proxy);\n }\n }\n function createProxy(ep, pendingListeners, path = [], target = function () { }) {\n let isProxyReleased = false;\n const proxy = new Proxy(target, {\n get(_target, prop) {\n throwIfProxyReleased(isProxyReleased);\n if (prop === releaseProxy) {\n return () => {\n unregisterProxy(proxy);\n releaseEndpoint(ep);\n pendingListeners.clear();\n isProxyReleased = true;\n };\n }\n if (prop === \"then\") {\n if (path.length === 0) {\n return { then: () => proxy };\n }\n const r = requestResponseMessage(ep, pendingListeners, {\n type: \"GET\" /* MessageType.GET */,\n path: path.map((p) => p.toString()),\n }).then(fromWireValue);\n return r.then.bind(r);\n }\n return createProxy(ep, pendingListeners, [...path, prop]);\n },\n set(_target, prop, rawValue) {\n throwIfProxyReleased(isProxyReleased);\n // FIXME: ES6 Proxy Handler `set` methods are supposed to return a\n // boolean. To show good will, we return true asynchronously ¯\\_(ツ)_/¯\n const [value, transferables] = toWireValue(rawValue);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"SET\" /* MessageType.SET */,\n path: [...path, prop].map((p) => p.toString()),\n value,\n }, transferables).then(fromWireValue);\n },\n apply(_target, _thisArg, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const last = path[path.length - 1];\n if (last === createEndpoint) {\n return requestResponseMessage(ep, pendingListeners, {\n type: \"ENDPOINT\" /* MessageType.ENDPOINT */,\n }).then(fromWireValue);\n }\n // We just pretend that `bind()` didn’t happen.\n if (last === \"bind\") {\n return createProxy(ep, pendingListeners, path.slice(0, -1));\n }\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"APPLY\" /* MessageType.APPLY */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n construct(_target, rawArgumentList) {\n throwIfProxyReleased(isProxyReleased);\n const [argumentList, transferables] = processArguments(rawArgumentList);\n return requestResponseMessage(ep, pendingListeners, {\n type: \"CONSTRUCT\" /* MessageType.CONSTRUCT */,\n path: path.map((p) => p.toString()),\n argumentList,\n }, transferables).then(fromWireValue);\n },\n });\n registerProxy(proxy, ep);\n return proxy;\n }\n function myFlat(arr) {\n return Array.prototype.concat.apply([], arr);\n }\n function processArguments(argumentList) {\n const processed = argumentList.map(toWireValue);\n return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];\n }\n const transferCache = new WeakMap();\n function transfer(obj, transfers) {\n transferCache.set(obj, transfers);\n return obj;\n }\n function proxy(obj) {\n return Object.assign(obj, { [proxyMarker]: true });\n }\n function toWireValue(value) {\n for (const [name, handler] of transferHandlers) {\n if (handler.canHandle(value)) {\n const [serializedValue, transferables] = handler.serialize(value);\n return [\n {\n type: \"HANDLER\" /* WireValueType.HANDLER */,\n name,\n value: serializedValue,\n },\n transferables,\n ];\n }\n }\n return [\n {\n type: \"RAW\" /* WireValueType.RAW */,\n value,\n },\n transferCache.get(value) || [],\n ];\n }\n function fromWireValue(value) {\n switch (value.type) {\n case \"HANDLER\" /* WireValueType.HANDLER */:\n return transferHandlers.get(value.name).deserialize(value.value);\n case \"RAW\" /* WireValueType.RAW */:\n return value.value;\n }\n }\n function requestResponseMessage(ep, pendingListeners, msg, transfers) {\n return new Promise((resolve) => {\n const id = generateUUID();\n pendingListeners.set(id, resolve);\n if (ep.start) {\n ep.start();\n }\n ep.postMessage(Object.assign({ id }, msg), transfers);\n });\n }\n function generateUUID() {\n return new Array(4)\n .fill(0)\n .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))\n .join(\"-\");\n }\n\n /**\n * MatrixRenderer class is meant to be used within a Web Worker context,\n * using Comlink to facilitate communication between the main thread and the worker.\n * The MatrixRenderer class manages a matrix of dies, once an instance of MatrixRenderer is created,\n * it is exposed to the main thread using Comlink's `expose` method.\n * This setup is used in the wafer-map component to perform heavy computational duties\n */\n class MatrixRenderer {\n constructor() {\n this.values = Float64Array.from([]);\n this.scaledColumnIndices = Float64Array.from([]);\n this.scaledRowIndices = Float64Array.from([]);\n this.columnIndicesPositions = Int32Array.from([]);\n this.colorIndices = Int32Array.from([]);\n this.colors = [];\n this.colorValues = Float64Array.from([]);\n this.outsideRangeDieColor = 'rgba(218,223,236,1)';\n this.fontSizeFactor = 0.8;\n this.renderConfig = {\n dieDimensions: {\n width: 0,\n height: 0\n },\n margin: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n verticalCoefficient: 1,\n horizontalCoefficient: 1,\n horizontalConstant: 0,\n verticalConstant: 0,\n gridMinX: 0,\n gridMaxX: 0,\n gridMinY: 0,\n gridMaxY: 0,\n labelsFontSize: 0,\n colorScale: [],\n dieLabelsSuffix: '',\n maxCharacters: 0\n };\n this.transformConfig = {\n transform: {\n k: 1,\n x: 0,\n y: 0\n },\n topLeftCanvasCorner: {\n x: 0,\n y: 0\n },\n bottomRightCanvasCorner: {\n x: 0,\n y: 0\n }\n };\n }\n setMatrixData(columnIndices, rowIndices, valuesBuffer) {\n const scaledColumnIndex = [];\n const columnPositions = [];\n const scaledRowIndices = [];\n const values = [];\n const colorIndices = [];\n let prevXIndex;\n let dieCount = 0;\n for (let i = 0; i < columnIndices.length; i++) {\n const xIndex = columnIndices[i];\n const yIndex = rowIndices[i];\n if (this.isDieInGrid(xIndex, yIndex)) {\n if (xIndex !== prevXIndex) {\n scaledColumnIndex.push(this.calculateHorizontalScaledIndices(xIndex));\n columnPositions.push(dieCount);\n prevXIndex = xIndex;\n }\n scaledRowIndices.push(this.calculateVerticalScaledIndices(yIndex));\n const value = valuesBuffer[i];\n values.push(value);\n colorIndices.push(this.findColorIndex(value));\n dieCount += 1;\n }\n }\n this.scaledColumnIndices = Float64Array.from(scaledColumnIndex);\n this.columnIndicesPositions = Int32Array.from(columnPositions);\n this.scaledRowIndices = Float64Array.from(scaledRowIndices);\n this.values = Float64Array.from(values);\n this.colorIndices = Int32Array.from(colorIndices);\n }\n setRenderConfig(renderConfig) {\n this.renderConfig = renderConfig;\n this.colors = renderConfig.colorScale.map(marker => marker.color);\n this.colorValues = Float64Array.from(renderConfig.colorScale.map(marker => marker.value));\n }\n setTransformConfig(transformData) {\n this.transformConfig = transformData;\n }\n setCanvas(canvas) {\n this.canvas = canvas;\n this.context = canvas.getContext('2d');\n }\n scaleCanvas() {\n this.context.translate(this.transformConfig.transform.x, this.transformConfig.transform.y);\n this.context.scale(this.transformConfig.transform.k, this.transformConfig.transform.k);\n }\n setCanvasDimensions(data) {\n this.canvas.width = data.width;\n this.canvas.height = data.height;\n }\n getCanvasDimensions() {\n return {\n width: this.canvas.width,\n height: this.canvas.height\n };\n }\n clearCanvas() {\n this.context.clearRect(0, 0, this.canvas.width, this.canvas.height);\n }\n drawWafer() {\n this.context.restore();\n this.context.save();\n this.clearCanvas();\n this.scaleCanvas();\n for (let i = 0; i < this.scaledColumnIndices.length; i++) {\n const scaledX = this.scaledColumnIndices[i];\n if (!(scaledX >= this.transformConfig.topLeftCanvasCorner.x\n && scaledX < this.transformConfig.bottomRightCanvasCorner.x)) {\n continue;\n }\n // columnIndexPositions is used to get chunks to determine the start and end index of the column, it looks something like [0, 1, 4, 9, 12]\n // This means that the first column has a start index of 0 and an end index of 1, the second column has a start index of 1 and an end index of 4, and so on\n // scaledRowIndices is used when we reach the end of the columnIndexPositions, when columnIndexPositions is [0, 1, 4, 9, 12], scaledRowIndices is 13\n const columnEndIndex = this.columnIndicesPositions[i + 1] !== undefined\n ? this.columnIndicesPositions[i + 1]\n : this.scaledRowIndices.length;\n for (let columnStartIndex = this.columnIndicesPositions[i]; columnStartIndex < columnEndIndex; columnStartIndex++) {\n const scaledY = this.scaledRowIndices[columnStartIndex];\n if (!(scaledY >= this.transformConfig.topLeftCanvasCorner.y\n && scaledY < this.transformConfig.bottomRightCanvasCorner.y)) {\n continue;\n }\n // Fill style is temporary green for all dies, will be replaced with a color based on the value of the die in a future implementation\n this.context.fillStyle = this.colors[this.colorIndices[columnStartIndex]]\n ?? this.outsideRangeDieColor;\n this.context.fillRect(scaledX, scaledY, this.renderConfig.dieDimensions.width, this.renderConfig.dieDimensions.height);\n }\n }\n }\n drawText() {\n this.context.font = `${this.renderConfig.labelsFontSize.toString()}px sans-serif`;\n this.context.fillStyle = '#ffffff';\n this.context.textAlign = 'center';\n this.context.lineCap = 'butt';\n const approximateTextHeight = this.context.measureText('M');\n for (let i = 0; i < this.scaledColumnIndices.length; i++) {\n const scaledX = this.scaledColumnIndices[i];\n if (!(scaledX >= this.transformConfig.topLeftCanvasCorner.x\n && scaledX < this.transformConfig.bottomRightCanvasCorner.x)) {\n continue;\n }\n // columnIndexPositions is used to get chunks to determine the start and end index of the column, it looks something like [0, 1, 4, 9, 12]\n // This means that the first column has a start index of 0 and an end index of 1, the second column has a start index of 1 and an end index of 4, and so on\n // scaledRowIndices is used when we reach the end of the columnIndexPositions, when columnIndexPositions is [0, 1, 4, 9, 12], scaledRowIndices is 13\n const columnEndIndex = this.columnIndicesPositions[i + 1] !== undefined\n ? this.columnIndicesPositions[i + 1]\n : this.scaledRowIndices.length;\n for (let columnStartIndex = this.columnIndicesPositions[i]; columnStartIndex < columnEndIndex; columnStartIndex++) {\n const scaledY = this.scaledRowIndices[columnStartIndex];\n if (!(scaledY >= this.transformConfig.topLeftCanvasCorner.y\n && scaledY < this.transformConfig.bottomRightCanvasCorner.y)) {\n continue;\n }\n let label = `${this.values[columnStartIndex] ?? 'NaN'}${this.renderConfig.dieLabelsSuffix}`;\n if (label.length >= this.renderConfig.maxCharacters) {\n label = `${label.substring(0, this.renderConfig.maxCharacters)}…`;\n }\n this.context.fillText(label, scaledX + this.renderConfig.dieDimensions.width / 2, scaledY\n + this.renderConfig.dieDimensions.height / 2\n + approximateTextHeight.width / 2, this.renderConfig.dieDimensions.width * this.fontSizeFactor);\n }\n }\n }\n isDieInGrid(x, y) {\n return (x >= this.renderConfig.gridMinX\n && x <= this.renderConfig.gridMaxX\n && y >= this.renderConfig.gridMinY\n && y <= this.renderConfig.gridMaxY);\n }\n calculateHorizontalScaledIndices(columnIndex) {\n return (this.renderConfig.horizontalCoefficient * columnIndex\n + this.renderConfig.horizontalConstant\n + this.renderConfig.margin.left);\n }\n calculateVerticalScaledIndices(rowIndex) {\n return (this.renderConfig.verticalCoefficient * rowIndex\n + this.renderConfig.verticalConstant\n + this.renderConfig.margin.top);\n }\n findColorIndex(value) {\n let index = -1;\n if (this.colorValues.length === 0 || this.colorValues[0] >= value) {\n return index;\n }\n for (let i = 0; i < this.colorValues.length; i++) {\n if (value <= this.colorValues[i]) {\n index = i;\n break;\n }\n }\n return index;\n }\n }\n expose(MatrixRenderer);\n\n exports.MatrixRenderer = MatrixRenderer;\n\n return exports;\n\n})({});\n";
|
|
95710
95764
|
|
|
95711
95765
|
let url;
|
|
95712
95766
|
/**
|
|
@@ -95767,10 +95821,9 @@ focus outline in that case.
|
|
|
95767
95821
|
});
|
|
95768
95822
|
await this.matrixRenderer.drawWafer();
|
|
95769
95823
|
if (!snapshot.dieLabelsHidden
|
|
95770
|
-
&& snapshot.dieDimensions
|
|
95771
95824
|
&& snapshot.dieDimensions.width
|
|
95772
95825
|
* snapshot.dieDimensions.height
|
|
95773
|
-
* (snapshot.transform.k
|
|
95826
|
+
* (snapshot.transform.k !== 0 ? snapshot.transform.k : 1)
|
|
95774
95827
|
>= this.minDieDim) {
|
|
95775
95828
|
await this.matrixRenderer.drawText();
|
|
95776
95829
|
}
|
|
@@ -96728,7 +96781,7 @@ focus outline in that case.
|
|
|
96728
96781
|
this.inputEmpty = true;
|
|
96729
96782
|
}
|
|
96730
96783
|
slottedInputElementsChanged(_prev, next) {
|
|
96731
|
-
this.inputEmpty =
|
|
96784
|
+
this.inputEmpty = next === undefined || next.length === 0;
|
|
96732
96785
|
}
|
|
96733
96786
|
}
|
|
96734
96787
|
__decorate([
|
|
@@ -97068,7 +97121,7 @@ focus outline in that case.
|
|
|
97068
97121
|
this.footerActionsIsEmpty = true;
|
|
97069
97122
|
}
|
|
97070
97123
|
slottedFooterActionsElementsChanged(_prev, next) {
|
|
97071
|
-
this.footerActionsIsEmpty =
|
|
97124
|
+
this.footerActionsIsEmpty = next === undefined || next.length === 0;
|
|
97072
97125
|
}
|
|
97073
97126
|
}
|
|
97074
97127
|
__decorate([
|
|
@@ -97172,7 +97225,7 @@ focus outline in that case.
|
|
|
97172
97225
|
this.footerActionsIsEmpty = true;
|
|
97173
97226
|
}
|
|
97174
97227
|
slottedFooterActionsElementsChanged(_prev, next) {
|
|
97175
|
-
this.footerActionsIsEmpty =
|
|
97228
|
+
this.footerActionsIsEmpty = next === undefined || next.length === 0;
|
|
97176
97229
|
}
|
|
97177
97230
|
}
|
|
97178
97231
|
__decorate([
|