@ni/ok-components 1.5.2 → 1.6.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 (28) hide show
  1. package/dist/all-components-bundle.js +882 -410
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +5587 -5344
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/custom-elements.json +611 -288
  6. package/dist/custom-elements.md +97 -35
  7. package/dist/esm/fv/all-fv.d.ts +2 -0
  8. package/dist/esm/fv/all-fv.js +2 -0
  9. package/dist/esm/fv/all-fv.js.map +1 -1
  10. package/dist/esm/fv/master-detail-list/index.d.ts +50 -0
  11. package/dist/esm/fv/master-detail-list/index.js +176 -0
  12. package/dist/esm/fv/master-detail-list/index.js.map +1 -0
  13. package/dist/esm/fv/master-detail-list/styles.d.ts +1 -0
  14. package/dist/esm/fv/master-detail-list/styles.js +68 -0
  15. package/dist/esm/fv/master-detail-list/styles.js.map +1 -0
  16. package/dist/esm/fv/master-detail-list/template.d.ts +2 -0
  17. package/dist/esm/fv/master-detail-list/template.js +36 -0
  18. package/dist/esm/fv/master-detail-list/template.js.map +1 -0
  19. package/dist/esm/fv/master-detail-list-item/index.d.ts +32 -0
  20. package/dist/esm/fv/master-detail-list-item/index.js +86 -0
  21. package/dist/esm/fv/master-detail-list-item/index.js.map +1 -0
  22. package/dist/esm/fv/master-detail-list-item/styles.d.ts +1 -0
  23. package/dist/esm/fv/master-detail-list-item/styles.js +100 -0
  24. package/dist/esm/fv/master-detail-list-item/styles.js.map +1 -0
  25. package/dist/esm/fv/master-detail-list-item/template.d.ts +2 -0
  26. package/dist/esm/fv/master-detail-list-item/template.js +28 -0
  27. package/dist/esm/fv/master-detail-list-item/template.js.map +1 -0
  28. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, observable } from '@ni/fast-element';
3
+ import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
4
+ import { styles } from './styles';
5
+ import { template } from './template';
6
+ /**
7
+ * A selectable master-detail list item with title, subtitle, and optional status content.
8
+ */
9
+ export class FvMasterDetailListItem extends FoundationElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.titleText = '';
13
+ this.subtitle = '';
14
+ this.value = '';
15
+ this.compact = false;
16
+ this.selected = false;
17
+ this.statusColor = '';
18
+ this.statusLabel = '';
19
+ /** @internal */
20
+ this.hasStatusSlotContent = false;
21
+ }
22
+ /** @internal */
23
+ connectedCallback() {
24
+ super.connectedCallback();
25
+ this.setAttribute('role', 'option');
26
+ this.syncSelectionAria();
27
+ }
28
+ /** @internal */
29
+ selectedChanged() {
30
+ if (this.$fastController.isConnected) {
31
+ this.syncSelectionAria();
32
+ }
33
+ }
34
+ /** @internal */
35
+ handleStatusSlotChange(event) {
36
+ const slot = event.target;
37
+ this.hasStatusSlotContent = slot.assignedNodes({ flatten: true }).length > 0;
38
+ }
39
+ /** @internal */
40
+ get hasStatus() {
41
+ return this.hasStatusSlotContent || this.statusColor.trim().length > 0;
42
+ }
43
+ /** @internal */
44
+ get fallbackStatusLabel() {
45
+ if (this.hasStatusSlotContent || this.statusColor.trim().length === 0) {
46
+ return null;
47
+ }
48
+ const normalizedStatusLabel = this.statusLabel.trim();
49
+ return normalizedStatusLabel.length > 0 ? normalizedStatusLabel : null;
50
+ }
51
+ syncSelectionAria() {
52
+ this.setAttribute('aria-selected', String(this.selected));
53
+ }
54
+ }
55
+ __decorate([
56
+ attr({ attribute: 'title-text' })
57
+ ], FvMasterDetailListItem.prototype, "titleText", void 0);
58
+ __decorate([
59
+ attr
60
+ ], FvMasterDetailListItem.prototype, "subtitle", void 0);
61
+ __decorate([
62
+ attr
63
+ ], FvMasterDetailListItem.prototype, "value", void 0);
64
+ __decorate([
65
+ attr({ mode: 'boolean' })
66
+ ], FvMasterDetailListItem.prototype, "compact", void 0);
67
+ __decorate([
68
+ attr({ mode: 'boolean' })
69
+ ], FvMasterDetailListItem.prototype, "selected", void 0);
70
+ __decorate([
71
+ attr({ attribute: 'status-color' })
72
+ ], FvMasterDetailListItem.prototype, "statusColor", void 0);
73
+ __decorate([
74
+ attr({ attribute: 'status-label' })
75
+ ], FvMasterDetailListItem.prototype, "statusLabel", void 0);
76
+ __decorate([
77
+ observable
78
+ ], FvMasterDetailListItem.prototype, "hasStatusSlotContent", void 0);
79
+ const okFvMasterDetailListItem = FvMasterDetailListItem.compose({
80
+ baseName: 'fv-master-detail-list-item',
81
+ template,
82
+ styles
83
+ });
84
+ DesignSystem.getOrCreate().withPrefix('ok').register(okFvMasterDetailListItem());
85
+ export const fvMasterDetailListItemTag = 'ok-fv-master-detail-list-item';
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fv/master-detail-list-item/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, observable } from '@ni/fast-element';\nimport { DesignSystem, FoundationElement } from '@ni/fast-foundation';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ok-fv-master-detail-list-item': FvMasterDetailListItem;\n }\n}\n\n/**\n * A selectable master-detail list item with title, subtitle, and optional status content.\n */\nexport class FvMasterDetailListItem extends FoundationElement {\n @attr({ attribute: 'title-text' })\n public titleText = '';\n\n @attr\n public subtitle = '';\n\n @attr\n public value = '';\n\n @attr({ mode: 'boolean' })\n public compact = false;\n\n @attr({ mode: 'boolean' })\n public selected = false;\n\n @attr({ attribute: 'status-color' })\n public statusColor = '';\n\n @attr({ attribute: 'status-label' })\n public statusLabel = '';\n\n /** @internal */\n @observable\n public hasStatusSlotContent = false;\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n\n this.setAttribute('role', 'option');\n this.syncSelectionAria();\n }\n\n /** @internal */\n public selectedChanged(): void {\n if (this.$fastController.isConnected) {\n this.syncSelectionAria();\n }\n }\n\n /** @internal */\n public handleStatusSlotChange(event: Event): void {\n const slot = event.target as HTMLSlotElement;\n this.hasStatusSlotContent = slot.assignedNodes({ flatten: true }).length > 0;\n }\n\n /** @internal */\n public get hasStatus(): boolean {\n return this.hasStatusSlotContent || this.statusColor.trim().length > 0;\n }\n\n /** @internal */\n public get fallbackStatusLabel(): string | null {\n if (this.hasStatusSlotContent || this.statusColor.trim().length === 0) {\n return null;\n }\n\n const normalizedStatusLabel = this.statusLabel.trim();\n return normalizedStatusLabel.length > 0 ? normalizedStatusLabel : null;\n }\n\n private syncSelectionAria(): void {\n this.setAttribute('aria-selected', String(this.selected));\n }\n}\n\nconst okFvMasterDetailListItem = FvMasterDetailListItem.compose({\n baseName: 'fv-master-detail-list-item',\n template,\n styles\n});\n\nDesignSystem.getOrCreate().withPrefix('ok').register(okFvMasterDetailListItem());\nexport const fvMasterDetailListItemTag = 'ok-fv-master-detail-list-item';"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@ni/fast-element").ElementStyles;
@@ -0,0 +1,100 @@
1
+ import { css } from '@ni/fast-element';
2
+ import { bodyFont, bodyFontColor, borderHoverColor, borderWidth, fillHoverColor, fillSelectedColor, iconColor, placeholderFontColor, 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, selected;
6
+
7
+ @layer base {
8
+ ${display('block')}
9
+
10
+ :host {
11
+ position: relative;
12
+ color: ${bodyFontColor};
13
+ cursor: pointer;
14
+ user-select: none;
15
+ }
16
+
17
+ :host([hidden]) {
18
+ display: none;
19
+ }
20
+
21
+ .item {
22
+ display: grid;
23
+ grid-template-columns: minmax(0, 1fr) auto;
24
+ align-items: center;
25
+ gap: ${standardPadding};
26
+ min-block-size: 76px;
27
+ padding: 14px 18px 14px 22px;
28
+ background: transparent;
29
+ }
30
+
31
+ :host([compact]) .item {
32
+ min-block-size: 56px;
33
+ padding: 10px 18px 10px 22px;
34
+ }
35
+
36
+ .text {
37
+ min-inline-size: 0;
38
+ }
39
+
40
+ .title {
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ white-space: nowrap;
44
+ font: ${bodyFont};
45
+ font-weight: 600;
46
+ color: ${bodyFontColor};
47
+ }
48
+
49
+ .subtitle {
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ white-space: nowrap;
53
+ margin-block-start: 4px;
54
+ font: ${bodyFont};
55
+ color: ${placeholderFontColor};
56
+ }
57
+
58
+ :host([compact]) .subtitle {
59
+ margin-block-start: 2px;
60
+ }
61
+
62
+ .status {
63
+ display: inline-flex;
64
+ align-items: center;
65
+ justify-content: center;
66
+ inline-size: 16px;
67
+ block-size: 16px;
68
+ flex: 0 0 auto;
69
+ }
70
+
71
+ .status-icon {
72
+ inline-size: 10px;
73
+ block-size: 10px;
74
+ color: currentColor;
75
+ ${iconColor.cssCustomProperty}: currentColor;
76
+ }
77
+ }
78
+
79
+ @layer hover {
80
+ :host(:hover) .item {
81
+ background: ${fillHoverColor};
82
+ }
83
+ }
84
+
85
+ @layer selected {
86
+ :host([selected]) .item {
87
+ background: ${fillSelectedColor};
88
+ }
89
+
90
+ :host([selected])::before {
91
+ content: '';
92
+ position: absolute;
93
+ inset-block: 0;
94
+ inset-inline-start: 0;
95
+ inline-size: calc(${borderWidth} * 4);
96
+ background: ${borderHoverColor};
97
+ }
98
+ }
99
+ `;
100
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/fv/master-detail-list-item/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EACH,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,eAAe,EAClB,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;UAIf,OAAO,CAAC,OAAO,CAAC;;;;qBAIL,aAAa;;;;;;;;;;;;;mBAaf,eAAe;;;;;;;;;;;;;;;;;;;oBAmBd,QAAQ;;qBAEP,aAAa;;;;;;;;oBAQd,QAAQ;qBACP,oBAAoB;;;;;;;;;;;;;;;;;;;;cAoB3B,SAAS,CAAC,iBAAiB;;;;;;0BAMf,cAAc;;;;;;0BAMd,iBAAiB;;;;;;;;gCAQX,WAAW;0BACjB,gBAAgB;;;CAGzC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport {\n bodyFont,\n bodyFontColor,\n borderHoverColor,\n borderWidth,\n fillHoverColor,\n fillSelectedColor,\n iconColor,\n placeholderFontColor,\n standardPadding\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, selected;\n\n @layer base {\n ${display('block')}\n\n :host {\n position: relative;\n color: ${bodyFontColor};\n cursor: pointer;\n user-select: none;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n .item {\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto;\n align-items: center;\n gap: ${standardPadding};\n min-block-size: 76px;\n padding: 14px 18px 14px 22px;\n background: transparent;\n }\n\n :host([compact]) .item {\n min-block-size: 56px;\n padding: 10px 18px 10px 22px;\n }\n\n .text {\n min-inline-size: 0;\n }\n\n .title {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: ${bodyFont};\n font-weight: 600;\n color: ${bodyFontColor};\n }\n\n .subtitle {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-block-start: 4px;\n font: ${bodyFont};\n color: ${placeholderFontColor};\n }\n\n :host([compact]) .subtitle {\n margin-block-start: 2px;\n }\n\n .status {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 16px;\n block-size: 16px;\n flex: 0 0 auto;\n }\n\n .status-icon {\n inline-size: 10px;\n block-size: 10px;\n color: currentColor;\n ${iconColor.cssCustomProperty}: currentColor;\n }\n }\n\n @layer hover {\n :host(:hover) .item {\n background: ${fillHoverColor};\n }\n }\n\n @layer selected {\n :host([selected]) .item {\n background: ${fillSelectedColor};\n }\n\n :host([selected])::before {\n content: '';\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n inline-size: calc(${borderWidth} * 4);\n background: ${borderHoverColor};\n }\n }\n`;"]}
@@ -0,0 +1,2 @@
1
+ import type { FvMasterDetailListItem } from '.';
2
+ export declare const template: import("@ni/fast-element").ViewTemplate<FvMasterDetailListItem, any>;
@@ -0,0 +1,28 @@
1
+ import { html, when } from '@ni/fast-element';
2
+ import { iconCircleFilledTag } from '@ni/nimble-components/dist/esm/icons/circle-filled';
3
+ export const template = html `
4
+ <div class="item" part="item">
5
+ <div class="text" part="text">
6
+ <div class="title" part="title">${x => x.titleText}</div>
7
+ <div class="subtitle" part="subtitle">${x => x.subtitle}</div>
8
+ </div>
9
+ <div class="status" part="status" ?hidden="${x => !x.hasStatus}">
10
+ <slot
11
+ name="status"
12
+ @slotchange="${(x, c) => x.handleStatusSlotChange(c.event)}"
13
+ >
14
+ ${when(x => x.statusColor.trim().length > 0, html `
15
+ <${iconCircleFilledTag}
16
+ class="status-icon"
17
+ part="status-icon"
18
+ role="${x => (x.fallbackStatusLabel ? 'img' : null)}"
19
+ aria-label="${x => x.fallbackStatusLabel}"
20
+ aria-hidden="${x => (x.fallbackStatusLabel === null ? 'true' : null)}"
21
+ style="${x => `color: ${x.statusColor};`}"
22
+ ></${iconCircleFilledTag}>
23
+ `)}
24
+ </slot>
25
+ </div>
26
+ </div>
27
+ `;
28
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/fv/master-detail-list-item/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAGzF,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAwB;;;8CAGN,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oDACV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;qDAEd,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;;;+BAGvC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC;;kBAExD,IAAI,CACF,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EACpC,IAAI,CAAwB;2BACrB,mBAAmB;;;oCAGV,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;0CACrC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB;2CACzB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;qCAC3D,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,WAAW,GAAG;6BACvC,mBAAmB;qBAC3B,CACJ;;;;CAIhB,CAAC","sourcesContent":["import { html, when } from '@ni/fast-element';\nimport { iconCircleFilledTag } from '@ni/nimble-components/dist/esm/icons/circle-filled';\nimport type { FvMasterDetailListItem } from '.';\n\nexport const template = html<FvMasterDetailListItem>`\n <div class=\"item\" part=\"item\">\n <div class=\"text\" part=\"text\">\n <div class=\"title\" part=\"title\">${x => x.titleText}</div>\n <div class=\"subtitle\" part=\"subtitle\">${x => x.subtitle}</div>\n </div>\n <div class=\"status\" part=\"status\" ?hidden=\"${x => !x.hasStatus}\">\n <slot\n name=\"status\"\n @slotchange=\"${(x, c) => x.handleStatusSlotChange(c.event)}\"\n >\n ${when(\n x => x.statusColor.trim().length > 0,\n html<FvMasterDetailListItem>`\n <${iconCircleFilledTag}\n class=\"status-icon\"\n part=\"status-icon\"\n role=\"${x => (x.fallbackStatusLabel ? 'img' : null)}\"\n aria-label=\"${x => x.fallbackStatusLabel}\"\n aria-hidden=\"${x => (x.fallbackStatusLabel === null ? 'true' : null)}\"\n style=\"${x => `color: ${x.statusColor};`}\"\n ></${iconCircleFilledTag}>\n `\n )}\n </slot>\n </div>\n </div>\n`;"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/ok-components",
3
- "version": "1.5.2",
3
+ "version": "1.6.0",
4
4
  "description": "NI Ok Components",
5
5
  "scripts": {
6
6
  "build": "npm run build:components && npm run build:cem",