@ni/ok-components 1.2.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all-components-bundle.js +3044 -530
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +6788 -5229
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/custom-elements.json +1423 -63
- package/dist/custom-elements.md +246 -13
- package/dist/esm/fv/accordion-item/index.d.ts +1 -0
- package/dist/esm/fv/accordion-item/index.js +1 -0
- package/dist/esm/fv/accordion-item/index.js.map +1 -1
- package/dist/esm/fv/accordion-item/testing/fv-accordion-item.pageobject.js +5 -0
- package/dist/esm/fv/accordion-item/testing/fv-accordion-item.pageobject.js.map +1 -1
- package/dist/esm/fv/all-fv.d.ts +7 -0
- package/dist/esm/fv/all-fv.js +7 -0
- package/dist/esm/fv/all-fv.js.map +1 -1
- package/dist/esm/fv/card/index.d.ts +59 -0
- package/dist/esm/fv/card/index.js +144 -0
- package/dist/esm/fv/card/index.js.map +1 -0
- package/dist/esm/fv/card/styles.d.ts +1 -0
- package/dist/esm/fv/card/styles.js +231 -0
- package/dist/esm/fv/card/styles.js.map +1 -0
- package/dist/esm/fv/card/template.d.ts +2 -0
- package/dist/esm/fv/card/template.js +126 -0
- package/dist/esm/fv/card/template.js.map +1 -0
- package/dist/esm/fv/card/types.d.ts +10 -0
- package/dist/esm/fv/card/types.js +9 -0
- package/dist/esm/fv/card/types.js.map +1 -0
- package/dist/esm/fv/chip-selector/index.d.ts +104 -0
- package/dist/esm/fv/chip-selector/index.js +367 -0
- package/dist/esm/fv/chip-selector/index.js.map +1 -0
- package/dist/esm/fv/chip-selector/styles.d.ts +1 -0
- package/dist/esm/fv/chip-selector/styles.js +251 -0
- package/dist/esm/fv/chip-selector/styles.js.map +1 -0
- package/dist/esm/fv/chip-selector/template.d.ts +2 -0
- package/dist/esm/fv/chip-selector/template.js +147 -0
- package/dist/esm/fv/chip-selector/template.js.map +1 -0
- package/dist/esm/fv/context-help/index.d.ts +22 -0
- package/dist/esm/fv/context-help/index.js +41 -0
- package/dist/esm/fv/context-help/index.js.map +1 -0
- package/dist/esm/fv/context-help/styles.d.ts +1 -0
- package/dist/esm/fv/context-help/styles.js +55 -0
- package/dist/esm/fv/context-help/styles.js.map +1 -0
- package/dist/esm/fv/context-help/template.d.ts +2 -0
- package/dist/esm/fv/context-help/template.js +24 -0
- package/dist/esm/fv/context-help/template.js.map +1 -0
- package/dist/esm/fv/context-help/types.d.ts +1 -0
- package/dist/esm/fv/context-help/types.js +2 -0
- package/dist/esm/fv/context-help/types.js.map +1 -0
- package/dist/esm/fv/search-input/index.d.ts +2 -0
- package/dist/esm/fv/search-input/index.js +2 -0
- package/dist/esm/fv/search-input/index.js.map +1 -1
- package/dist/esm/fv/search-input/styles.js +14 -14
- package/dist/esm/fv/search-input/styles.js.map +1 -1
- package/dist/esm/fv/split-button/index.d.ts +43 -0
- package/dist/esm/fv/split-button/index.js +130 -0
- package/dist/esm/fv/split-button/index.js.map +1 -0
- package/dist/esm/fv/split-button/styles.d.ts +1 -0
- package/dist/esm/fv/split-button/styles.js +220 -0
- package/dist/esm/fv/split-button/styles.js.map +1 -0
- package/dist/esm/fv/split-button/template.d.ts +2 -0
- package/dist/esm/fv/split-button/template.js +52 -0
- package/dist/esm/fv/split-button/template.js.map +1 -0
- package/dist/esm/fv/split-button/types.d.ts +12 -0
- package/dist/esm/fv/split-button/types.js +11 -0
- package/dist/esm/fv/split-button/types.js.map +1 -0
- package/dist/esm/fv/split-button-anchor/index.d.ts +47 -0
- package/dist/esm/fv/split-button-anchor/index.js +146 -0
- package/dist/esm/fv/split-button-anchor/index.js.map +1 -0
- package/dist/esm/fv/split-button-anchor/styles.d.ts +1 -0
- package/dist/esm/fv/split-button-anchor/styles.js +228 -0
- package/dist/esm/fv/split-button-anchor/styles.js.map +1 -0
- package/dist/esm/fv/split-button-anchor/template.d.ts +2 -0
- package/dist/esm/fv/split-button-anchor/template.js +64 -0
- package/dist/esm/fv/split-button-anchor/template.js.map +1 -0
- package/dist/esm/fv/split-button-anchor/types.d.ts +12 -0
- package/dist/esm/fv/split-button-anchor/types.js +11 -0
- package/dist/esm/fv/split-button-anchor/types.js.map +1 -0
- package/dist/esm/fv/summary-panel/index.d.ts +26 -0
- package/dist/esm/fv/summary-panel/index.js +70 -0
- package/dist/esm/fv/summary-panel/index.js.map +1 -0
- package/dist/esm/fv/summary-panel/styles.d.ts +1 -0
- package/dist/esm/fv/summary-panel/styles.js +49 -0
- package/dist/esm/fv/summary-panel/styles.js.map +1 -0
- package/dist/esm/fv/summary-panel/template.d.ts +2 -0
- package/dist/esm/fv/summary-panel/template.js +29 -0
- package/dist/esm/fv/summary-panel/template.js.map +1 -0
- package/dist/esm/fv/summary-panel-tile/index.d.ts +23 -0
- package/dist/esm/fv/summary-panel-tile/index.js +59 -0
- package/dist/esm/fv/summary-panel-tile/index.js.map +1 -0
- package/dist/esm/fv/summary-panel-tile/styles.d.ts +1 -0
- package/dist/esm/fv/summary-panel-tile/styles.js +138 -0
- package/dist/esm/fv/summary-panel-tile/styles.js.map +1 -0
- package/dist/esm/fv/summary-panel-tile/template.d.ts +2 -0
- package/dist/esm/fv/summary-panel-tile/template.js +14 -0
- package/dist/esm/fv/summary-panel-tile/template.js.map +1 -0
- package/dist/esm/fv/summary-panel-tile/types.d.ts +5 -0
- package/dist/esm/fv/summary-panel-tile/types.js +5 -0
- package/dist/esm/fv/summary-panel-tile/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { css } from '@ni/fast-element';
|
|
2
|
+
import { standardPadding } from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';
|
|
3
|
+
import { display } from '../../utilities/style/display';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
@layer base, hover, focusVisible, active, disabled, top;
|
|
6
|
+
|
|
7
|
+
@layer base {
|
|
8
|
+
${display('block')}
|
|
9
|
+
|
|
10
|
+
.summary-panel {
|
|
11
|
+
display: grid;
|
|
12
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
13
|
+
align-items: flex-start;
|
|
14
|
+
column-gap: ${standardPadding};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.summary-item-container {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-wrap: wrap;
|
|
20
|
+
align-items: stretch;
|
|
21
|
+
gap: ${standardPadding};
|
|
22
|
+
min-width: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.summary-item-container:empty {
|
|
26
|
+
display: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.edit-items-button {
|
|
30
|
+
align-self: start;
|
|
31
|
+
justify-self: end;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
::slotted(*) {
|
|
35
|
+
flex: 0 0 auto;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@layer hover {}
|
|
40
|
+
|
|
41
|
+
@layer focusVisible {}
|
|
42
|
+
|
|
43
|
+
@layer active {}
|
|
44
|
+
|
|
45
|
+
@layer disabled {}
|
|
46
|
+
|
|
47
|
+
@layer top {}
|
|
48
|
+
`;
|
|
49
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAC9F,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;UAIf,OAAO,CAAC,OAAO,CAAC;;;;;;0BAMA,eAAe;;;;;;;mBAOtB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BjC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport { standardPadding } from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';\nimport { display } from '../../utilities/style/display';\n\nexport const styles = css`\n @layer base, hover, focusVisible, active, disabled, top;\n\n @layer base {\n ${display('block')}\n\n .summary-panel {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: flex-start;\n column-gap: ${standardPadding};\n }\n\n .summary-item-container {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n gap: ${standardPadding};\n min-width: 0;\n }\n\n .summary-item-container:empty {\n display: none;\n }\n\n .edit-items-button {\n align-self: start;\n justify-self: end;\n }\n\n ::slotted(*) {\n flex: 0 0 auto;\n }\n }\n\n @layer hover {}\n\n @layer focusVisible {}\n\n @layer active {}\n\n @layer disabled {}\n\n @layer top {}\n`;"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { html, when } from '@ni/fast-element';
|
|
2
|
+
import { buttonTag } from '@ni/nimble-components/dist/esm/button';
|
|
3
|
+
import { ButtonAppearance } from '@ni/nimble-components/dist/esm/button/types';
|
|
4
|
+
import { iconCogTag } from '@ni/nimble-components/dist/esm/icons/cog';
|
|
5
|
+
export const template = html `
|
|
6
|
+
<section class="summary-panel" part="panel">
|
|
7
|
+
<div class="summary-item-container" part="items">
|
|
8
|
+
<slot @slotchange="${x => x.handleItemsSlotChange()}"></slot>
|
|
9
|
+
</div>
|
|
10
|
+
${when(x => x.showEditItemsButton, html `
|
|
11
|
+
<${buttonTag}
|
|
12
|
+
class="edit-items-button"
|
|
13
|
+
part="edit-items-button"
|
|
14
|
+
appearance="${ButtonAppearance.ghost}"
|
|
15
|
+
content-hidden
|
|
16
|
+
title="${x => x.editItemsButtonLabel}"
|
|
17
|
+
aria-label="${x => x.editItemsButtonLabel}"
|
|
18
|
+
@click="${x => {
|
|
19
|
+
x.handleEditItemsClick();
|
|
20
|
+
return true;
|
|
21
|
+
}}"
|
|
22
|
+
>
|
|
23
|
+
${x => x.editItemsButtonLabel}
|
|
24
|
+
<${iconCogTag} slot="start"></${iconCogTag}>
|
|
25
|
+
</${buttonTag}>
|
|
26
|
+
`)}
|
|
27
|
+
</section>
|
|
28
|
+
`;
|
|
29
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAGtE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAgB;;;iCAGX,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE;;UAErD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,IAAI,CAAgB;eAChD,SAAS;;;8BAGM,gBAAgB,CAAC,KAAK;;yBAE3B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;8BACtB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;0BAC/B,CAAC,CAAC,EAAE;IACV,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACzB,OAAO,IAAI,CAAC;AAChB,CAAC;;kBAEC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB;mBAC1B,UAAU,mBAAmB,UAAU;gBAC1C,SAAS;SAChB,CAAC;;CAET,CAAC","sourcesContent":["import { html, when } from '@ni/fast-element';\nimport { buttonTag } from '@ni/nimble-components/dist/esm/button';\nimport { ButtonAppearance } from '@ni/nimble-components/dist/esm/button/types';\nimport { iconCogTag } from '@ni/nimble-components/dist/esm/icons/cog';\nimport type { FvSummaryPanel } from '.';\n\nexport const template = html<FvSummaryPanel>`\n <section class=\"summary-panel\" part=\"panel\">\n <div class=\"summary-item-container\" part=\"items\">\n <slot @slotchange=\"${x => x.handleItemsSlotChange()}\"></slot>\n </div>\n ${when(x => x.showEditItemsButton, html<FvSummaryPanel>`\n <${buttonTag}\n class=\"edit-items-button\"\n part=\"edit-items-button\"\n appearance=\"${ButtonAppearance.ghost}\"\n content-hidden\n title=\"${x => x.editItemsButtonLabel}\"\n aria-label=\"${x => x.editItemsButtonLabel}\"\n @click=\"${x => {\n x.handleEditItemsClick();\n return true;\n }}\"\n >\n ${x => x.editItemsButtonLabel}\n <${iconCogTag} slot=\"start\"></${iconCogTag}>\n </${buttonTag}>\n `)}\n </section>\n`;"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FoundationElement } from '@ni/fast-foundation';
|
|
2
|
+
import { type FvSummaryPanelTileTextPosition as FvSummaryPanelTileTextPositionType } from './types';
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'ok-fv-summary-panel-tile': FvSummaryPanelTile;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* A clickable summary tile for displaying a large value with a compact label.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FvSummaryPanelTile extends FoundationElement {
|
|
12
|
+
count: string;
|
|
13
|
+
label: string;
|
|
14
|
+
legacyStyle: boolean;
|
|
15
|
+
selected: boolean;
|
|
16
|
+
textPosition: FvSummaryPanelTileTextPositionType;
|
|
17
|
+
/** @internal */
|
|
18
|
+
connectedCallback(): void;
|
|
19
|
+
/** @internal */
|
|
20
|
+
legacyStyleChanged(): void;
|
|
21
|
+
private syncLegacyStyleAttribute;
|
|
22
|
+
}
|
|
23
|
+
export declare const fvSummaryPanelTileTag = "ok-fv-summary-panel-tile";
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr } from '@ni/fast-element';
|
|
3
|
+
import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
|
|
4
|
+
import { styles } from './styles';
|
|
5
|
+
import { template } from './template';
|
|
6
|
+
import { FvSummaryPanelTileTextPosition } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* A clickable summary tile for displaying a large value with a compact label.
|
|
9
|
+
*/
|
|
10
|
+
export class FvSummaryPanelTile extends FoundationElement {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.count = '';
|
|
14
|
+
this.label = '';
|
|
15
|
+
this.legacyStyle = false;
|
|
16
|
+
this.selected = false;
|
|
17
|
+
this.textPosition = FvSummaryPanelTileTextPosition.beside;
|
|
18
|
+
}
|
|
19
|
+
/** @internal */
|
|
20
|
+
connectedCallback() {
|
|
21
|
+
super.connectedCallback();
|
|
22
|
+
this.syncLegacyStyleAttribute();
|
|
23
|
+
}
|
|
24
|
+
/** @internal */
|
|
25
|
+
legacyStyleChanged() {
|
|
26
|
+
this.syncLegacyStyleAttribute();
|
|
27
|
+
}
|
|
28
|
+
syncLegacyStyleAttribute() {
|
|
29
|
+
if (this.legacyStyle) {
|
|
30
|
+
this.setAttribute('legacy-style', '');
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.removeAttribute('legacy-style');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
__decorate([
|
|
38
|
+
attr
|
|
39
|
+
], FvSummaryPanelTile.prototype, "count", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
attr
|
|
42
|
+
], FvSummaryPanelTile.prototype, "label", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
attr({ attribute: 'legacy-style', mode: 'boolean' })
|
|
45
|
+
], FvSummaryPanelTile.prototype, "legacyStyle", void 0);
|
|
46
|
+
__decorate([
|
|
47
|
+
attr({ mode: 'boolean' })
|
|
48
|
+
], FvSummaryPanelTile.prototype, "selected", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
attr({ attribute: 'text-position' })
|
|
51
|
+
], FvSummaryPanelTile.prototype, "textPosition", void 0);
|
|
52
|
+
const okFvSummaryPanelTile = FvSummaryPanelTile.compose({
|
|
53
|
+
baseName: 'fv-summary-panel-tile',
|
|
54
|
+
template,
|
|
55
|
+
styles
|
|
56
|
+
});
|
|
57
|
+
DesignSystem.getOrCreate().withPrefix('ok').register(okFvSummaryPanelTile());
|
|
58
|
+
export const fvSummaryPanelTileTag = 'ok-fv-summary-panel-tile';
|
|
59
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel-tile/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACH,8BAA8B,EAEjC,MAAM,SAAS,CAAC;AAQjB;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,iBAAiB;IAAzD;;QAEW,UAAK,GAAG,EAAE,CAAC;QAGX,UAAK,GAAG,EAAE,CAAC;QAGX,gBAAW,GAAG,KAAK,CAAC;QAGpB,aAAQ,GAAG,KAAK,CAAC;QAGjB,iBAAY,GAAuC,8BAA8B,CAAC,MAAM,CAAC;IAoBpG,CAAC;IAlBG,gBAAgB;IACA,iBAAiB;QAC7B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAED,gBAAgB;IACT,kBAAkB;QACrB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;CACJ;AAhCU;IADN,IAAI;iDACa;AAGX;IADN,IAAI;iDACa;AAGX;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;uDAC1B;AAGpB;IADN,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oDACF;AAGjB;IADN,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;wDAC2D;AAsBpG,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,OAAO,CAAC;IACpD,QAAQ,EAAE,uBAAuB;IACjC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC","sourcesContent":["import { attr } from '@ni/fast-element';\nimport { DesignSystem, FoundationElement } from '@ni/fast-foundation';\nimport { styles } from './styles';\nimport { template } from './template';\nimport {\n FvSummaryPanelTileTextPosition,\n type FvSummaryPanelTileTextPosition as FvSummaryPanelTileTextPositionType\n} from './types';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ok-fv-summary-panel-tile': FvSummaryPanelTile;\n }\n}\n\n/**\n * A clickable summary tile for displaying a large value with a compact label.\n */\nexport class FvSummaryPanelTile extends FoundationElement {\n @attr\n public count = '';\n\n @attr\n public label = '';\n\n @attr({ attribute: 'legacy-style', mode: 'boolean' })\n public legacyStyle = false;\n\n @attr({ mode: 'boolean' })\n public selected = false;\n\n @attr({ attribute: 'text-position' })\n public textPosition: FvSummaryPanelTileTextPositionType = FvSummaryPanelTileTextPosition.beside;\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.syncLegacyStyleAttribute();\n }\n\n /** @internal */\n public legacyStyleChanged(): void {\n this.syncLegacyStyleAttribute();\n }\n\n private syncLegacyStyleAttribute(): void {\n if (this.legacyStyle) {\n this.setAttribute('legacy-style', '');\n } else {\n this.removeAttribute('legacy-style');\n }\n }\n}\n\nconst okFvSummaryPanelTile = FvSummaryPanelTile.compose({\n baseName: 'fv-summary-panel-tile',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('ok').register(okFvSummaryPanelTile());\nexport const fvSummaryPanelTileTag = 'ok-fv-summary-panel-tile';"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@ni/fast-element").ElementStyles;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { css } from '@ni/fast-element';
|
|
2
|
+
import { bodyFont, borderHoverColor, cardBorderColor, elevation2BoxShadow, largePadding, mediumPadding, smallPadding, smallDelay, standardPadding, titlePlus2FontColor } from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';
|
|
3
|
+
import { display } from '../../utilities/style/display';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
@layer base, hover, focusVisible, active, disabled, top;
|
|
6
|
+
|
|
7
|
+
@layer base {
|
|
8
|
+
${display('inline-block')}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
min-width: max-content;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:host(:not([legacy-style])) .summary-panel-tile {
|
|
15
|
+
position: relative;
|
|
16
|
+
border-radius: 8px;
|
|
17
|
+
overflow: clip;
|
|
18
|
+
box-shadow: none;
|
|
19
|
+
transition: box-shadow ${smallDelay} ease-in-out;
|
|
20
|
+
--ni-private-card-button-background-hover-color: transparent;
|
|
21
|
+
--ni-private-card-button-background-active-color: transparent;
|
|
22
|
+
--ni-private-card-button-border-active-color: ${borderHoverColor};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
:host(:not([legacy-style])) .summary-panel-tile::after {
|
|
26
|
+
content: '';
|
|
27
|
+
position: absolute;
|
|
28
|
+
inset: 0;
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
border: 2px solid transparent;
|
|
31
|
+
border-radius: inherit;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
transition: border-color ${smallDelay} ease-in-out;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host(:not([legacy-style])) .summary-panel-tile::part(control) {
|
|
37
|
+
border: 2px solid ${cardBorderColor};
|
|
38
|
+
border-radius: 8px;
|
|
39
|
+
transition:
|
|
40
|
+
border-color ${smallDelay} ease-in-out,
|
|
41
|
+
border-width ${smallDelay} ease-in-out;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.summary-panel-tile-content {
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
gap: ${mediumPadding};
|
|
48
|
+
margin: ${largePadding} calc(${largePadding} + ${standardPadding});
|
|
49
|
+
font: ${bodyFont};
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.summary-panel-tile-content.under {
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
align-items: center;
|
|
55
|
+
gap: ${smallPadding};
|
|
56
|
+
text-align: center;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.count {
|
|
60
|
+
color: ${titlePlus2FontColor};
|
|
61
|
+
font-size: 32px;
|
|
62
|
+
font-weight: 400;
|
|
63
|
+
line-height: 40px;
|
|
64
|
+
white-space: nowrap;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.summary-panel-tile-content.beside .count {
|
|
68
|
+
padding-right: ${mediumPadding};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.summary-panel-tile-content.under .count {
|
|
72
|
+
padding-right: 0;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.label {
|
|
76
|
+
font-weight: 600;
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
white-space: nowrap;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@layer hover {
|
|
83
|
+
:host(:not([legacy-style])) .summary-panel-tile:hover {
|
|
84
|
+
box-shadow: 0 0 0 2px ${borderHoverColor};
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
:host(:not([legacy-style])) .summary-panel-tile::part(control):hover {
|
|
88
|
+
border-color: transparent;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@layer focusVisible {}
|
|
93
|
+
|
|
94
|
+
@layer active {
|
|
95
|
+
:host(:not([legacy-style])) .summary-panel-tile:active {
|
|
96
|
+
box-shadow: none;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected] {
|
|
100
|
+
box-shadow: var(${elevation2BoxShadow.cssCustomProperty});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected]:hover {
|
|
104
|
+
box-shadow:
|
|
105
|
+
var(${elevation2BoxShadow.cssCustomProperty}),
|
|
106
|
+
0 0 0 2px ${borderHoverColor};
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected]:active {
|
|
110
|
+
box-shadow: var(${elevation2BoxShadow.cssCustomProperty});
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
:host(:not([legacy-style])) .summary-panel-tile:active::after {
|
|
114
|
+
border-color: ${borderHoverColor};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
:host(:not([legacy-style])) .summary-panel-tile::part(control):active {
|
|
118
|
+
border: 2px solid transparent;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected]::part(control) {
|
|
122
|
+
border: 2px solid ${borderHoverColor};
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected]::part(control):hover {
|
|
126
|
+
border: 2px solid transparent;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:host(:not([legacy-style])) .summary-panel-tile[selected]::part(control):active {
|
|
130
|
+
border: 2px solid transparent;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@layer disabled {}
|
|
135
|
+
|
|
136
|
+
@layer top {}
|
|
137
|
+
`;
|
|
138
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel-tile/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EACH,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,eAAe,EACf,mBAAmB,EACtB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;UAIf,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;;qCAWI,UAAU;;;4DAGa,gBAAgB;;;;;;;;;;;uCAWrC,UAAU;;;;gCAIjB,eAAe;;;+BAGhB,UAAU;+BACV,UAAU;;;;;;mBAMtB,aAAa;sBACV,YAAY,SAAS,YAAY,MAAM,eAAe;oBACxD,QAAQ;;;;;;mBAMT,YAAY;;;;;qBAKV,mBAAmB;;;;;;;;6BAQX,aAAa;;;;;;;;;;;;;;;;oCAgBN,gBAAgB;;;;;;;;;;;;;;;;8BAgBtB,mBAAmB,CAAC,iBAAiB;;;;;sBAK7C,mBAAmB,CAAC,iBAAiB;4BAC/B,gBAAgB;;;;8BAId,mBAAmB,CAAC,iBAAiB;;;;4BAIvC,gBAAgB;;;;;;;;gCAQZ,gBAAgB;;;;;;;;;;;;;;;CAe/C,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport {\n bodyFont,\n borderHoverColor,\n cardBorderColor,\n elevation2BoxShadow,\n largePadding,\n mediumPadding,\n smallPadding,\n smallDelay,\n standardPadding,\n titlePlus2FontColor\n} from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';\nimport { display } from '../../utilities/style/display';\n\nexport const styles = css`\n @layer base, hover, focusVisible, active, disabled, top;\n\n @layer base {\n ${display('inline-block')}\n\n :host {\n min-width: max-content;\n }\n\n :host(:not([legacy-style])) .summary-panel-tile {\n position: relative;\n border-radius: 8px;\n overflow: clip;\n box-shadow: none;\n transition: box-shadow ${smallDelay} ease-in-out;\n --ni-private-card-button-background-hover-color: transparent;\n --ni-private-card-button-background-active-color: transparent;\n --ni-private-card-button-border-active-color: ${borderHoverColor};\n }\n\n :host(:not([legacy-style])) .summary-panel-tile::after {\n content: '';\n position: absolute;\n inset: 0;\n box-sizing: border-box;\n border: 2px solid transparent;\n border-radius: inherit;\n pointer-events: none;\n transition: border-color ${smallDelay} ease-in-out;\n }\n\n :host(:not([legacy-style])) .summary-panel-tile::part(control) {\n border: 2px solid ${cardBorderColor};\n border-radius: 8px;\n transition:\n border-color ${smallDelay} ease-in-out,\n border-width ${smallDelay} ease-in-out;\n }\n\n .summary-panel-tile-content {\n display: flex;\n align-items: center;\n gap: ${mediumPadding};\n margin: ${largePadding} calc(${largePadding} + ${standardPadding});\n font: ${bodyFont};\n }\n\n .summary-panel-tile-content.under {\n flex-direction: column;\n align-items: center;\n gap: ${smallPadding};\n text-align: center;\n }\n\n .count {\n color: ${titlePlus2FontColor};\n font-size: 32px;\n font-weight: 400;\n line-height: 40px;\n white-space: nowrap;\n }\n\n .summary-panel-tile-content.beside .count {\n padding-right: ${mediumPadding};\n }\n\n .summary-panel-tile-content.under .count {\n padding-right: 0;\n }\n\n .label {\n font-weight: 600;\n text-transform: uppercase;\n white-space: nowrap;\n }\n }\n\n @layer hover {\n :host(:not([legacy-style])) .summary-panel-tile:hover {\n box-shadow: 0 0 0 2px ${borderHoverColor};\n }\n\n :host(:not([legacy-style])) .summary-panel-tile::part(control):hover {\n border-color: transparent;\n }\n }\n\n @layer focusVisible {}\n\n @layer active {\n :host(:not([legacy-style])) .summary-panel-tile:active {\n box-shadow: none;\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected] {\n box-shadow: var(${elevation2BoxShadow.cssCustomProperty});\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected]:hover {\n box-shadow:\n var(${elevation2BoxShadow.cssCustomProperty}),\n 0 0 0 2px ${borderHoverColor};\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected]:active {\n box-shadow: var(${elevation2BoxShadow.cssCustomProperty});\n }\n\n :host(:not([legacy-style])) .summary-panel-tile:active::after {\n border-color: ${borderHoverColor};\n }\n\n :host(:not([legacy-style])) .summary-panel-tile::part(control):active {\n border: 2px solid transparent;\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected]::part(control) {\n border: 2px solid ${borderHoverColor};\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected]::part(control):hover {\n border: 2px solid transparent;\n }\n\n :host(:not([legacy-style])) .summary-panel-tile[selected]::part(control):active {\n border: 2px solid transparent;\n }\n }\n\n @layer disabled {}\n\n @layer top {}\n`;"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { html } from '@ni/fast-element';
|
|
2
|
+
import { cardButtonTag } from '@ni/nimble-components/dist/esm/card-button';
|
|
3
|
+
export const template = html `
|
|
4
|
+
<${cardButtonTag}
|
|
5
|
+
class="summary-panel-tile"
|
|
6
|
+
?selected="${x => x.selected}"
|
|
7
|
+
>
|
|
8
|
+
<div class="summary-panel-tile-content ${x => x.textPosition}">
|
|
9
|
+
<div class="count">${x => x.count}</div>
|
|
10
|
+
<div class="label">${x => x.label}</div>
|
|
11
|
+
</div>
|
|
12
|
+
</${cardButtonTag}>
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel-tile/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAG3E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAoB;OACzC,aAAa;;qBAEC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;iDAEa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY;iCACnC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;iCACZ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;;QAErC,aAAa;CACpB,CAAC","sourcesContent":["import { html } from '@ni/fast-element';\nimport { cardButtonTag } from '@ni/nimble-components/dist/esm/card-button';\nimport type { FvSummaryPanelTile } from '.';\n\nexport const template = html<FvSummaryPanelTile>`\n <${cardButtonTag}\n class=\"summary-panel-tile\"\n ?selected=\"${x => x.selected}\"\n >\n <div class=\"summary-panel-tile-content ${x => x.textPosition}\">\n <div class=\"count\">${x => x.count}</div>\n <div class=\"label\">${x => x.label}</div>\n </div>\n </${cardButtonTag}>\n`;"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/fv/summary-panel-tile/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC1C,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACR,CAAC","sourcesContent":["export const FvSummaryPanelTileTextPosition = {\n beside: 'beside',\n under: 'under'\n} as const;\n\nexport type FvSummaryPanelTileTextPosition = (typeof FvSummaryPanelTileTextPosition)[keyof typeof FvSummaryPanelTileTextPosition];"]}
|