@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.
Files changed (98) hide show
  1. package/dist/all-components-bundle.js +3044 -530
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +6788 -5229
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/custom-elements.json +1423 -63
  6. package/dist/custom-elements.md +246 -13
  7. package/dist/esm/fv/accordion-item/index.d.ts +1 -0
  8. package/dist/esm/fv/accordion-item/index.js +1 -0
  9. package/dist/esm/fv/accordion-item/index.js.map +1 -1
  10. package/dist/esm/fv/accordion-item/testing/fv-accordion-item.pageobject.js +5 -0
  11. package/dist/esm/fv/accordion-item/testing/fv-accordion-item.pageobject.js.map +1 -1
  12. package/dist/esm/fv/all-fv.d.ts +7 -0
  13. package/dist/esm/fv/all-fv.js +7 -0
  14. package/dist/esm/fv/all-fv.js.map +1 -1
  15. package/dist/esm/fv/card/index.d.ts +59 -0
  16. package/dist/esm/fv/card/index.js +144 -0
  17. package/dist/esm/fv/card/index.js.map +1 -0
  18. package/dist/esm/fv/card/styles.d.ts +1 -0
  19. package/dist/esm/fv/card/styles.js +231 -0
  20. package/dist/esm/fv/card/styles.js.map +1 -0
  21. package/dist/esm/fv/card/template.d.ts +2 -0
  22. package/dist/esm/fv/card/template.js +126 -0
  23. package/dist/esm/fv/card/template.js.map +1 -0
  24. package/dist/esm/fv/card/types.d.ts +10 -0
  25. package/dist/esm/fv/card/types.js +9 -0
  26. package/dist/esm/fv/card/types.js.map +1 -0
  27. package/dist/esm/fv/chip-selector/index.d.ts +104 -0
  28. package/dist/esm/fv/chip-selector/index.js +367 -0
  29. package/dist/esm/fv/chip-selector/index.js.map +1 -0
  30. package/dist/esm/fv/chip-selector/styles.d.ts +1 -0
  31. package/dist/esm/fv/chip-selector/styles.js +251 -0
  32. package/dist/esm/fv/chip-selector/styles.js.map +1 -0
  33. package/dist/esm/fv/chip-selector/template.d.ts +2 -0
  34. package/dist/esm/fv/chip-selector/template.js +147 -0
  35. package/dist/esm/fv/chip-selector/template.js.map +1 -0
  36. package/dist/esm/fv/context-help/index.d.ts +22 -0
  37. package/dist/esm/fv/context-help/index.js +41 -0
  38. package/dist/esm/fv/context-help/index.js.map +1 -0
  39. package/dist/esm/fv/context-help/styles.d.ts +1 -0
  40. package/dist/esm/fv/context-help/styles.js +55 -0
  41. package/dist/esm/fv/context-help/styles.js.map +1 -0
  42. package/dist/esm/fv/context-help/template.d.ts +2 -0
  43. package/dist/esm/fv/context-help/template.js +24 -0
  44. package/dist/esm/fv/context-help/template.js.map +1 -0
  45. package/dist/esm/fv/context-help/types.d.ts +1 -0
  46. package/dist/esm/fv/context-help/types.js +2 -0
  47. package/dist/esm/fv/context-help/types.js.map +1 -0
  48. package/dist/esm/fv/search-input/index.d.ts +2 -0
  49. package/dist/esm/fv/search-input/index.js +2 -0
  50. package/dist/esm/fv/search-input/index.js.map +1 -1
  51. package/dist/esm/fv/search-input/styles.js +14 -14
  52. package/dist/esm/fv/search-input/styles.js.map +1 -1
  53. package/dist/esm/fv/split-button/index.d.ts +43 -0
  54. package/dist/esm/fv/split-button/index.js +130 -0
  55. package/dist/esm/fv/split-button/index.js.map +1 -0
  56. package/dist/esm/fv/split-button/styles.d.ts +1 -0
  57. package/dist/esm/fv/split-button/styles.js +220 -0
  58. package/dist/esm/fv/split-button/styles.js.map +1 -0
  59. package/dist/esm/fv/split-button/template.d.ts +2 -0
  60. package/dist/esm/fv/split-button/template.js +52 -0
  61. package/dist/esm/fv/split-button/template.js.map +1 -0
  62. package/dist/esm/fv/split-button/types.d.ts +12 -0
  63. package/dist/esm/fv/split-button/types.js +11 -0
  64. package/dist/esm/fv/split-button/types.js.map +1 -0
  65. package/dist/esm/fv/split-button-anchor/index.d.ts +47 -0
  66. package/dist/esm/fv/split-button-anchor/index.js +146 -0
  67. package/dist/esm/fv/split-button-anchor/index.js.map +1 -0
  68. package/dist/esm/fv/split-button-anchor/styles.d.ts +1 -0
  69. package/dist/esm/fv/split-button-anchor/styles.js +228 -0
  70. package/dist/esm/fv/split-button-anchor/styles.js.map +1 -0
  71. package/dist/esm/fv/split-button-anchor/template.d.ts +2 -0
  72. package/dist/esm/fv/split-button-anchor/template.js +64 -0
  73. package/dist/esm/fv/split-button-anchor/template.js.map +1 -0
  74. package/dist/esm/fv/split-button-anchor/types.d.ts +12 -0
  75. package/dist/esm/fv/split-button-anchor/types.js +11 -0
  76. package/dist/esm/fv/split-button-anchor/types.js.map +1 -0
  77. package/dist/esm/fv/summary-panel/index.d.ts +26 -0
  78. package/dist/esm/fv/summary-panel/index.js +70 -0
  79. package/dist/esm/fv/summary-panel/index.js.map +1 -0
  80. package/dist/esm/fv/summary-panel/styles.d.ts +1 -0
  81. package/dist/esm/fv/summary-panel/styles.js +49 -0
  82. package/dist/esm/fv/summary-panel/styles.js.map +1 -0
  83. package/dist/esm/fv/summary-panel/template.d.ts +2 -0
  84. package/dist/esm/fv/summary-panel/template.js +29 -0
  85. package/dist/esm/fv/summary-panel/template.js.map +1 -0
  86. package/dist/esm/fv/summary-panel-tile/index.d.ts +23 -0
  87. package/dist/esm/fv/summary-panel-tile/index.js +59 -0
  88. package/dist/esm/fv/summary-panel-tile/index.js.map +1 -0
  89. package/dist/esm/fv/summary-panel-tile/styles.d.ts +1 -0
  90. package/dist/esm/fv/summary-panel-tile/styles.js +138 -0
  91. package/dist/esm/fv/summary-panel-tile/styles.js.map +1 -0
  92. package/dist/esm/fv/summary-panel-tile/template.d.ts +2 -0
  93. package/dist/esm/fv/summary-panel-tile/template.js +14 -0
  94. package/dist/esm/fv/summary-panel-tile/template.js.map +1 -0
  95. package/dist/esm/fv/summary-panel-tile/types.d.ts +5 -0
  96. package/dist/esm/fv/summary-panel-tile/types.js +5 -0
  97. package/dist/esm/fv/summary-panel-tile/types.js.map +1 -0
  98. 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,2 @@
1
+ import type { FvSummaryPanel } from '.';
2
+ export declare const template: import("@ni/fast-element").ViewTemplate<FvSummaryPanel, any>;
@@ -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,2 @@
1
+ import type { FvSummaryPanelTile } from '.';
2
+ export declare const template: import("@ni/fast-element").ViewTemplate<FvSummaryPanelTile, any>;
@@ -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,5 @@
1
+ export declare const FvSummaryPanelTileTextPosition: {
2
+ readonly beside: "beside";
3
+ readonly under: "under";
4
+ };
5
+ export type FvSummaryPanelTileTextPosition = (typeof FvSummaryPanelTileTextPosition)[keyof typeof FvSummaryPanelTileTextPosition];
@@ -0,0 +1,5 @@
1
+ export const FvSummaryPanelTileTextPosition = {
2
+ beside: 'beside',
3
+ under: 'under'
4
+ };
5
+ //# sourceMappingURL=types.js.map
@@ -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];"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/ok-components",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "NI Ok Components",
5
5
  "scripts": {
6
6
  "build": "npm run build:components && npm run build:cem",