@ni/nimble-components 18.8.4 → 18.9.1
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 +472 -285
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +570 -507
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/patterns/error/styles.js +2 -6
- package/dist/esm/patterns/error/styles.js.map +1 -1
- package/dist/esm/table/components/cell/index.d.ts +4 -13
- package/dist/esm/table/components/cell/index.js +4 -35
- package/dist/esm/table/components/cell/index.js.map +1 -1
- package/dist/esm/table/components/cell/styles.js +1 -1
- package/dist/esm/table/components/cell/template.d.ts +3 -1
- package/dist/esm/table/components/cell/template.js +7 -3
- package/dist/esm/table/components/cell/template.js.map +1 -1
- package/dist/esm/table/components/row/index.d.ts +1 -0
- package/dist/esm/table/components/row/index.js +9 -0
- package/dist/esm/table/components/row/index.js.map +1 -1
- package/dist/esm/table/components/row/template.js +1 -2
- package/dist/esm/table/components/row/template.js.map +1 -1
- package/dist/esm/table/index.d.ts +9 -0
- package/dist/esm/table/index.js +10 -0
- package/dist/esm/table/index.js.map +1 -1
- package/dist/esm/table/models/virtualizer.d.ts +1 -0
- package/dist/esm/table/models/virtualizer.js +21 -0
- package/dist/esm/table/models/virtualizer.js.map +1 -1
- package/dist/esm/table/template.js +1 -1
- package/dist/esm/table/template.js.map +1 -1
- package/dist/esm/table-column/base/cell-view/index.d.ts +16 -0
- package/dist/esm/table-column/base/cell-view/index.js +22 -0
- package/dist/esm/table-column/base/cell-view/index.js.map +1 -0
- package/dist/esm/table-column/base/index.d.ts +10 -13
- package/dist/esm/table-column/base/index.js +12 -0
- package/dist/esm/table-column/base/index.js.map +1 -1
- package/dist/esm/table-column/text/cell-view/index.d.ts +18 -0
- package/dist/esm/table-column/text/cell-view/index.js +35 -0
- package/dist/esm/table-column/text/cell-view/index.js.map +1 -0
- package/dist/esm/table-column/text/cell-view/styles.d.ts +1 -0
- package/dist/esm/table-column/text/{styles.js → cell-view/styles.js} +2 -2
- package/dist/esm/table-column/text/cell-view/styles.js.map +1 -0
- package/dist/esm/table-column/text/cell-view/template.d.ts +2 -0
- package/dist/esm/table-column/text/cell-view/template.js +17 -0
- package/dist/esm/table-column/text/cell-view/template.js.map +1 -0
- package/dist/esm/table-column/text/index.d.ts +2 -3
- package/dist/esm/table-column/text/index.js +2 -4
- package/dist/esm/table-column/text/index.js.map +1 -1
- package/dist/esm/text-area/index.d.ts +48 -1
- package/dist/esm/text-area/index.js +84 -2
- package/dist/esm/text-area/index.js.map +1 -1
- package/dist/esm/text-area/styles.js +72 -18
- package/dist/esm/text-area/styles.js.map +1 -1
- package/dist/esm/text-area/template.d.ts +4 -0
- package/dist/esm/text-area/template.js +62 -0
- package/dist/esm/text-area/template.js.map +1 -0
- package/package.json +1 -1
- package/dist/esm/table-column/text/styles.d.ts +0 -1
- package/dist/esm/table-column/text/styles.js.map +0 -1
- package/dist/esm/table-column/text/template.d.ts +0 -3
- package/dist/esm/table-column/text/template.js +0 -24
- package/dist/esm/table-column/text/template.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { observable, volatile } from '@microsoft/fast-element';
|
|
3
|
+
import { DesignSystem } from '@microsoft/fast-foundation';
|
|
4
|
+
import { TableCellView } from '../../base/cell-view';
|
|
5
|
+
import { styles } from './styles';
|
|
6
|
+
import { template } from './template';
|
|
7
|
+
/**
|
|
8
|
+
* A cell view for displaying strings
|
|
9
|
+
*/
|
|
10
|
+
export class TableColumnTextCellView extends TableCellView {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/** @internal */
|
|
14
|
+
this.isValidContentAndHasOverflow = false;
|
|
15
|
+
}
|
|
16
|
+
get content() {
|
|
17
|
+
return typeof this.cellRecord.value === 'string'
|
|
18
|
+
? this.cellRecord.value
|
|
19
|
+
: this.columnConfig.placeholder;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
__decorate([
|
|
23
|
+
observable
|
|
24
|
+
], TableColumnTextCellView.prototype, "isValidContentAndHasOverflow", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
volatile
|
|
27
|
+
], TableColumnTextCellView.prototype, "content", null);
|
|
28
|
+
const textCellView = TableColumnTextCellView.compose({
|
|
29
|
+
baseName: 'table-column-text-cell-view',
|
|
30
|
+
template,
|
|
31
|
+
styles
|
|
32
|
+
});
|
|
33
|
+
DesignSystem.getOrCreate().withPrefix('nimble').register(textCellView());
|
|
34
|
+
export const tableColumnTextCellViewTag = DesignSystem.tagFor(TableColumnTextCellView);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/table-column/text/cell-view/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,aAG5C;IAHD;;QAII,gBAAgB;QAET,iCAA4B,GAAG,KAAK,CAAC;IAWhD,CAAC;IALG,IAAW,OAAO;QACd,OAAO,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ;YAC5C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YACvB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;IACxC,CAAC;CACJ;AAXG;IADC,UAAU;6EACiC;AAM5C;IADC,QAAQ;sDAKR;AAGL,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC;IACjD,QAAQ,EAAE,6BAA6B;IACvC,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,MAAM,CACzD,uBAAuB,CAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
|
-
import { bodyFont, bodyFontColor, controlLabelFontColor } from '
|
|
3
|
-
export const
|
|
2
|
+
import { bodyFont, bodyFontColor, controlLabelFontColor } from '../../../theme-provider/design-tokens';
|
|
3
|
+
export const styles = css `
|
|
4
4
|
span {
|
|
5
5
|
font: ${bodyFont};
|
|
6
6
|
color: ${bodyFontColor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/table-column/text/cell-view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACH,QAAQ,EACR,aAAa,EACb,qBAAqB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;gBAET,QAAQ;iBACP,aAAa;;;;;;;iBAOb,qBAAqB;;CAErC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { html, ref } from '@microsoft/fast-element';
|
|
2
|
+
export const template = html `
|
|
3
|
+
<span
|
|
4
|
+
${ref('textSpan')}
|
|
5
|
+
class="${x => (typeof x.cellRecord.value === 'string' ? '' : 'placeholder')}"
|
|
6
|
+
@mouseover="${x => {
|
|
7
|
+
x.isValidContentAndHasOverflow = !!x.content && x.textSpan.offsetWidth < x.textSpan.scrollWidth;
|
|
8
|
+
}}"
|
|
9
|
+
@mouseout="${x => {
|
|
10
|
+
x.isValidContentAndHasOverflow = false;
|
|
11
|
+
}}"
|
|
12
|
+
title=${x => (x.isValidContentAndHasOverflow ? x.content : null)}
|
|
13
|
+
>
|
|
14
|
+
${x => x.content}
|
|
15
|
+
</span>
|
|
16
|
+
`;
|
|
17
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/table-column/text/cell-view/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAIpD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAyB;;UAE3C,GAAG,CAAC,UAAU,CAAC;iBACR,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;sBAC7D,CAAC,CAAC,EAAE;IAClB,CAAC,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;AACpG,CAAC;qBACgB,CAAC,CAAC,EAAE;IACjB,CAAC,CAAC,4BAA4B,GAAG,KAAK,CAAC;AAC3C,CAAC;gBACW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;;UAE9D,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO;;CAEvB,CAAC"}
|
|
@@ -12,12 +12,11 @@ declare global {
|
|
|
12
12
|
/**
|
|
13
13
|
* The base class for a table column for displaying strings.
|
|
14
14
|
*/
|
|
15
|
-
declare class TableColumnTextBase extends TableColumn<
|
|
15
|
+
declare class TableColumnTextBase extends TableColumn<TableColumnTextColumnConfig> {
|
|
16
16
|
cellRecordFieldNames: readonly ["value"];
|
|
17
17
|
fieldName?: string;
|
|
18
18
|
placeholder?: string;
|
|
19
|
-
readonly
|
|
20
|
-
readonly cellTemplate: import("@microsoft/fast-element").ViewTemplate<import("../base/types").TableCellState<TableColumnTextCellRecord, TableColumnTextColumnConfig>, any>;
|
|
19
|
+
readonly cellViewTag: string;
|
|
21
20
|
constructor();
|
|
22
21
|
protected fieldNameChanged(): void;
|
|
23
22
|
protected placeholderChanged(): void;
|
|
@@ -7,8 +7,7 @@ import { template } from '../base/template';
|
|
|
7
7
|
import { mixinFractionalWidthColumnAPI } from '../mixins/fractional-width-column';
|
|
8
8
|
import { TableColumn } from '../base';
|
|
9
9
|
import { TableColumnSortOperation } from '../base/types';
|
|
10
|
-
import {
|
|
11
|
-
import { cellTemplate } from './template';
|
|
10
|
+
import { tableColumnTextCellViewTag } from './cell-view';
|
|
12
11
|
/**
|
|
13
12
|
* The base class for a table column for displaying strings.
|
|
14
13
|
*/
|
|
@@ -16,8 +15,7 @@ class TableColumnTextBase extends TableColumn {
|
|
|
16
15
|
constructor() {
|
|
17
16
|
super();
|
|
18
17
|
this.cellRecordFieldNames = ['value'];
|
|
19
|
-
this.
|
|
20
|
-
this.cellTemplate = cellTemplate;
|
|
18
|
+
this.cellViewTag = tableColumnTextCellViewTag;
|
|
21
19
|
this.sortOperation = TableColumnSortOperation.localeAwareCaseSensitive;
|
|
22
20
|
}
|
|
23
21
|
fieldNameChanged() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/text/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table-column/text/index.ts"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAazD;;GAEG;AACH,MAAM,mBAAoB,SAAQ,WAAwC;IAWtE;QACI,KAAK,EAAE,CAAC;QAXL,yBAAoB,GAAG,CAAC,OAAO,CAAU,CAAC;QAQjC,gBAAW,GAAG,0BAA0B,CAAC;QAIrD,IAAI,CAAC,aAAa,GAAG,wBAAwB,CAAC,wBAAwB,CAAC;IAC3E,CAAC;IAES,gBAAgB;QACtB,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAU,CAAC;QACtD,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC;IACrD,CAAC;IAES,kBAAkB;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;IAChE,CAAC;CACJ;AApBG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;sDACR;AAG1B;IADC,IAAI;wDACuB;AAmBhC;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,6BAA6B,CAC9D,mBAAmB,CACtB;CAAG;AAEJ,MAAM,qBAAqB,GAAG,eAAe,CAAC,OAAO,CAAC;IAClD,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TextArea as FoundationTextArea } from '@microsoft/fast-foundation';
|
|
2
|
+
import type { ErrorPattern } from '../patterns/error/types';
|
|
2
3
|
import { TextAreaAppearance } from './types';
|
|
3
4
|
declare global {
|
|
4
5
|
interface HTMLElementTagNameMap {
|
|
@@ -8,7 +9,7 @@ declare global {
|
|
|
8
9
|
/**
|
|
9
10
|
* A nimble-styed HTML text area
|
|
10
11
|
*/
|
|
11
|
-
export declare class TextArea extends FoundationTextArea {
|
|
12
|
+
export declare class TextArea extends FoundationTextArea implements ErrorPattern {
|
|
12
13
|
/**
|
|
13
14
|
* The appearance the text area should have.
|
|
14
15
|
*
|
|
@@ -17,5 +18,51 @@ export declare class TextArea extends FoundationTextArea {
|
|
|
17
18
|
* HTML Attribute: appearance
|
|
18
19
|
*/
|
|
19
20
|
appearance: TextAreaAppearance;
|
|
21
|
+
/**
|
|
22
|
+
* A message explaining why the value is invalid.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @remarks
|
|
26
|
+
* HTML Attribute: error-text
|
|
27
|
+
*/
|
|
28
|
+
errorText?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Whether to display the error state.
|
|
31
|
+
*
|
|
32
|
+
* @public
|
|
33
|
+
* @remarks
|
|
34
|
+
* HTML Attribute: error-visible
|
|
35
|
+
*/
|
|
36
|
+
errorVisible: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The width of the vertical scrollbar, if displayed.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
scrollbarWidth: number;
|
|
42
|
+
private resizeObserver?;
|
|
43
|
+
private updateScrollbarWidthQueued;
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
connectedCallback(): void;
|
|
48
|
+
/**
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
disconnectedCallback(): void;
|
|
52
|
+
/**
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
onTextAreaInput(): void;
|
|
56
|
+
/**
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
placeholderChanged(): void;
|
|
60
|
+
/**
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
valueChanged(previous: string, next: string): void;
|
|
64
|
+
private onResize;
|
|
65
|
+
private queueUpdateScrollbarWidth;
|
|
66
|
+
private updateScrollbarWidth;
|
|
20
67
|
}
|
|
21
68
|
export declare const textAreaTag: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { attr } from '@microsoft/fast-element';
|
|
3
|
-
import { DesignSystem, TextArea as FoundationTextArea
|
|
2
|
+
import { attr, DOM, observable } from '@microsoft/fast-element';
|
|
3
|
+
import { DesignSystem, TextArea as FoundationTextArea } from '@microsoft/fast-foundation';
|
|
4
4
|
import { styles } from './styles';
|
|
5
|
+
import { template } from './template';
|
|
5
6
|
import { TextAreaAppearance } from './types';
|
|
6
7
|
/**
|
|
7
8
|
* A nimble-styed HTML text area
|
|
@@ -17,11 +18,92 @@ export class TextArea extends FoundationTextArea {
|
|
|
17
18
|
* HTML Attribute: appearance
|
|
18
19
|
*/
|
|
19
20
|
this.appearance = TextAreaAppearance.outline;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to display the error state.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @remarks
|
|
26
|
+
* HTML Attribute: error-visible
|
|
27
|
+
*/
|
|
28
|
+
this.errorVisible = false;
|
|
29
|
+
/**
|
|
30
|
+
* The width of the vertical scrollbar, if displayed.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
this.scrollbarWidth = -1;
|
|
34
|
+
this.updateScrollbarWidthQueued = false;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
connectedCallback() {
|
|
40
|
+
super.connectedCallback();
|
|
41
|
+
this.resizeObserver = new ResizeObserver(() => this.onResize());
|
|
42
|
+
this.resizeObserver.observe(this);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
disconnectedCallback() {
|
|
48
|
+
this.resizeObserver?.disconnect();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
onTextAreaInput() {
|
|
54
|
+
this.handleTextInput();
|
|
55
|
+
this.queueUpdateScrollbarWidth();
|
|
56
|
+
}
|
|
57
|
+
// If a property can affect whether a scrollbar is visible, we need to
|
|
58
|
+
// call queueUpdateScrollbarWidth() when it changes. The exceptions are
|
|
59
|
+
// properties that affect size (e.g. height, width, cols, rows), because
|
|
60
|
+
// we already have a ResizeObserver handling those changes. Also,
|
|
61
|
+
// a change to errorVisible cannot cause scrollbar visibility to change,
|
|
62
|
+
// because we always reserve space for the error icon.
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
placeholderChanged() {
|
|
67
|
+
this.queueUpdateScrollbarWidth();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
valueChanged(previous, next) {
|
|
73
|
+
super.valueChanged(previous, next);
|
|
74
|
+
this.queueUpdateScrollbarWidth();
|
|
75
|
+
}
|
|
76
|
+
onResize() {
|
|
77
|
+
// Do this directly instead of calling updateScrollbarWidth, b/c we don't want to
|
|
78
|
+
// interfere with queue.
|
|
79
|
+
this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;
|
|
80
|
+
}
|
|
81
|
+
queueUpdateScrollbarWidth() {
|
|
82
|
+
if (!this.$fastController.isConnected) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
if (!this.updateScrollbarWidthQueued) {
|
|
86
|
+
this.updateScrollbarWidthQueued = true;
|
|
87
|
+
DOM.queueUpdate(() => this.updateScrollbarWidth());
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
updateScrollbarWidth() {
|
|
91
|
+
this.updateScrollbarWidthQueued = false;
|
|
92
|
+
this.scrollbarWidth = this.control.offsetWidth - this.control.clientWidth;
|
|
20
93
|
}
|
|
21
94
|
}
|
|
22
95
|
__decorate([
|
|
23
96
|
attr
|
|
24
97
|
], TextArea.prototype, "appearance", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
attr({ attribute: 'error-text' })
|
|
100
|
+
], TextArea.prototype, "errorText", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
attr({ attribute: 'error-visible', mode: 'boolean' })
|
|
103
|
+
], TextArea.prototype, "errorVisible", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
observable
|
|
106
|
+
], TextArea.prototype, "scrollbarWidth", void 0);
|
|
25
107
|
const nimbleTextArea = TextArea.compose({
|
|
26
108
|
baseName: 'text-area',
|
|
27
109
|
baseClass: FoundationTextArea,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-area/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-area/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { css } from '@microsoft/fast-element';
|
|
2
2
|
import { display } from '@microsoft/fast-foundation';
|
|
3
|
-
import { borderRgbPartialColor, borderHoverColor, borderWidth, smallDelay, bodyFontColor, bodyDisabledFontColor, controlLabelFont, controlLabelFontColor, bodyFont, controlLabelDisabledFontColor } from '../theme-provider/design-tokens';
|
|
3
|
+
import { borderRgbPartialColor, borderHoverColor, borderWidth, smallDelay, bodyFontColor, bodyDisabledFontColor, controlLabelFont, controlLabelFontColor, bodyFont, controlLabelDisabledFontColor, iconSize, failColor, standardPadding } from '../theme-provider/design-tokens';
|
|
4
4
|
import { appearanceBehavior } from '../utilities/style/appearance';
|
|
5
5
|
import { TextAreaAppearance } from './types';
|
|
6
|
+
import { styles as errorStyles } from '../patterns/error/styles';
|
|
6
7
|
export const styles = css `
|
|
7
8
|
${display('inline-flex')}
|
|
9
|
+
${errorStyles}
|
|
8
10
|
|
|
9
11
|
:host {
|
|
10
12
|
font: ${bodyFont};
|
|
@@ -13,6 +15,7 @@ export const styles = css `
|
|
|
13
15
|
color: ${bodyFontColor};
|
|
14
16
|
flex-direction: column;
|
|
15
17
|
vertical-align: top;
|
|
18
|
+
--ni-private-hover-indicator-width: calc(${borderWidth} + 1px);
|
|
16
19
|
}
|
|
17
20
|
|
|
18
21
|
:host([disabled]) {
|
|
@@ -29,10 +32,47 @@ export const styles = css `
|
|
|
29
32
|
color: ${controlLabelDisabledFontColor};
|
|
30
33
|
}
|
|
31
34
|
|
|
35
|
+
.container {
|
|
36
|
+
display: flex;
|
|
37
|
+
justify-content: center;
|
|
38
|
+
position: relative;
|
|
39
|
+
height: 100%;
|
|
40
|
+
width: 100%;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.container::after {
|
|
44
|
+
content: ' ';
|
|
45
|
+
position: absolute;
|
|
46
|
+
bottom: calc(-1 * ${borderWidth});
|
|
47
|
+
width: 0px;
|
|
48
|
+
height: 0px;
|
|
49
|
+
border-bottom: ${borderHoverColor}
|
|
50
|
+
var(--ni-private-hover-indicator-width) solid;
|
|
51
|
+
transition: width ${smallDelay} ease-in;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@media (prefers-reduced-motion) {
|
|
55
|
+
.container::after {
|
|
56
|
+
transition-duration: 0s;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:host([error-visible]) .container::after {
|
|
61
|
+
border-bottom-color: ${failColor};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
:host(:hover) .container::after {
|
|
65
|
+
width: 100%;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([disabled]:hover) .container::after,
|
|
69
|
+
:host([readonly]:hover) .container::after {
|
|
70
|
+
width: 0px;
|
|
71
|
+
}
|
|
72
|
+
|
|
32
73
|
.control {
|
|
33
74
|
-webkit-appearance: none;
|
|
34
75
|
font: inherit;
|
|
35
|
-
width: 100%;
|
|
36
76
|
flex-grow: 1;
|
|
37
77
|
outline: none;
|
|
38
78
|
box-sizing: border-box;
|
|
@@ -41,8 +81,13 @@ export const styles = css `
|
|
|
41
81
|
border-radius: 0px;
|
|
42
82
|
align-items: flex-end;
|
|
43
83
|
border: ${borderWidth} solid transparent;
|
|
84
|
+
min-width: 100px;
|
|
85
|
+
min-height: calc(${iconSize} + ${standardPadding});
|
|
44
86
|
padding: 8px;
|
|
45
|
-
|
|
87
|
+
${
|
|
88
|
+
/* This padding ensures that showing/hiding the error icon doesn't affect text layout */ ''}
|
|
89
|
+
padding-right: calc(${iconSize});
|
|
90
|
+
margin: 0px;
|
|
46
91
|
resize: none;
|
|
47
92
|
}
|
|
48
93
|
|
|
@@ -52,13 +97,8 @@ export const styles = css `
|
|
|
52
97
|
}
|
|
53
98
|
}
|
|
54
99
|
|
|
55
|
-
.control:hover {
|
|
56
|
-
border-color: ${borderHoverColor};
|
|
57
|
-
box-shadow: 0px 0px 0px 1px ${borderHoverColor};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
100
|
.control:focus-within {
|
|
61
|
-
border-color: ${borderHoverColor};
|
|
101
|
+
border-bottom-color: ${borderHoverColor};
|
|
62
102
|
}
|
|
63
103
|
|
|
64
104
|
.control[readonly],
|
|
@@ -67,23 +107,22 @@ export const styles = css `
|
|
|
67
107
|
.control[disabled],
|
|
68
108
|
.control[disabled]:hover {
|
|
69
109
|
border-color: rgba(${borderRgbPartialColor}, 0.1);
|
|
70
|
-
box-shadow: none;
|
|
71
110
|
}
|
|
72
111
|
|
|
73
|
-
.control
|
|
74
|
-
color: ${
|
|
112
|
+
:host([error-visible]) .control {
|
|
113
|
+
border-bottom-color: ${failColor};
|
|
75
114
|
}
|
|
76
115
|
|
|
77
|
-
.control[
|
|
78
|
-
color: ${
|
|
116
|
+
:host([error-visible]) .control[readonly]:hover:focus-within {
|
|
117
|
+
border-bottom-color: ${failColor};
|
|
79
118
|
}
|
|
80
119
|
|
|
81
|
-
|
|
82
|
-
|
|
120
|
+
.control::placeholder {
|
|
121
|
+
color: ${controlLabelFontColor};
|
|
83
122
|
}
|
|
84
123
|
|
|
85
|
-
|
|
86
|
-
|
|
124
|
+
.control[disabled]::placeholder {
|
|
125
|
+
color: ${controlLabelDisabledFontColor};
|
|
87
126
|
}
|
|
88
127
|
|
|
89
128
|
:host([resize='both']) .control {
|
|
@@ -95,6 +134,17 @@ export const styles = css `
|
|
|
95
134
|
:host([resize='vertical']) .control {
|
|
96
135
|
resize: vertical;
|
|
97
136
|
}
|
|
137
|
+
|
|
138
|
+
:host([error-visible]) .error-icon {
|
|
139
|
+
display: none;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
:host([error-visible]) .error-icon.scrollbar-width-calculated {
|
|
143
|
+
display: inline-flex;
|
|
144
|
+
position: absolute;
|
|
145
|
+
top: calc(${standardPadding} / 2);
|
|
146
|
+
right: var(--ni-private-scrollbar-width);
|
|
147
|
+
}
|
|
98
148
|
`.withBehaviors(appearanceBehavior(TextAreaAppearance.outline, css `
|
|
99
149
|
.control {
|
|
100
150
|
border-color: rgba(${borderRgbPartialColor}, 0.3);
|
|
@@ -113,5 +163,9 @@ export const styles = css `
|
|
|
113
163
|
border-color: transparent;
|
|
114
164
|
background-color: rgba(${borderRgbPartialColor}, 0.1);
|
|
115
165
|
}
|
|
166
|
+
|
|
167
|
+
:host([error-visible][disabled]) .control {
|
|
168
|
+
border-bottom-color: ${failColor};
|
|
169
|
+
}
|
|
116
170
|
`));
|
|
117
171
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/text-area/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,6BAA6B,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/text-area/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,6BAA6B,EAC7B,QAAQ,EACR,SAAS,EACT,eAAe,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;MACtB,WAAW;;;gBAGD,QAAQ;;;iBAGP,aAAa;;;mDAGqB,WAAW;;;;iBAI7C,qBAAqB;;;;;iBAKrB,qBAAqB;gBACtB,gBAAgB;;;;iBAIf,6BAA6B;;;;;;;;;;;;;;4BAclB,WAAW;;;yBAGd,gBAAgB;;4BAEb,UAAU;;;;;;;;;;+BAUP,SAAS;;;;;;;;;;;;;;;;;;;;;;kBAsBtB,WAAW;;2BAEF,QAAQ,MAAM,eAAe;;UAE9C;AACE,wFAAwF,CAAC,EAC7F;8BACsB,QAAQ;;;;;;;;;;;;+BAYP,gBAAgB;;;;;;;;6BAQlB,qBAAqB;;;;+BAInB,SAAS;;;;+BAIT,SAAS;;;;iBAIvB,qBAAqB;;;;iBAIrB,6BAA6B;;;;;;;;;;;;;;;;;;;;oBAoB1B,eAAe;;;CAGlC,CAAC,aAAa,CACX,kBAAkB,CACd,kBAAkB,CAAC,OAAO,EAC1B,GAAG,CAAA;;qCAE0B,qBAAqB;;;SAGjD,CACJ,EACD,kBAAkB,CACd,kBAAkB,CAAC,KAAK,EACxB,GAAG,CAAA;;yCAE8B,qBAAqB;;;;;;;;;yCASrB,qBAAqB;;;;uCAIvB,SAAS;;SAEvC,CACJ,CACJ,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { html, ref, slotted } from '@microsoft/fast-element';
|
|
2
|
+
import { iconExclamationMarkTag } from '../icons/exclamation-mark';
|
|
3
|
+
import { errorTextTemplate } from '../patterns/error/template';
|
|
4
|
+
export const template = () => html `
|
|
5
|
+
<label
|
|
6
|
+
part="label"
|
|
7
|
+
for="control"
|
|
8
|
+
class="${x => (x.defaultSlottedNodes?.length ? 'label' : 'label label__hidden')}"
|
|
9
|
+
>
|
|
10
|
+
<slot ${slotted('defaultSlottedNodes')}></slot>
|
|
11
|
+
</label>
|
|
12
|
+
<div class="container">
|
|
13
|
+
<textarea
|
|
14
|
+
part="control"
|
|
15
|
+
class="control"
|
|
16
|
+
id="control"
|
|
17
|
+
?autofocus="${x => x.autofocus}"
|
|
18
|
+
cols="${x => x.cols}"
|
|
19
|
+
?disabled="${x => x.disabled}"
|
|
20
|
+
form="${x => x.form}"
|
|
21
|
+
list="${x => x.list}"
|
|
22
|
+
maxlength="${x => x.maxlength}"
|
|
23
|
+
minlength="${x => x.minlength}"
|
|
24
|
+
name="${x => x.name}"
|
|
25
|
+
placeholder="${x => x.placeholder}"
|
|
26
|
+
?readonly="${x => x.readOnly}"
|
|
27
|
+
?required="${x => x.required}"
|
|
28
|
+
rows="${x => x.rows}"
|
|
29
|
+
?spellcheck="${x => x.spellcheck}"
|
|
30
|
+
:value="${x => x.value}"
|
|
31
|
+
aria-atomic="${x => x.ariaAtomic}"
|
|
32
|
+
aria-busy="${x => x.ariaBusy}"
|
|
33
|
+
aria-controls="${x => x.ariaControls}"
|
|
34
|
+
aria-current="${x => x.ariaCurrent}"
|
|
35
|
+
aria-describedby="${x => x.ariaDescribedby}"
|
|
36
|
+
aria-details="${x => x.ariaDetails}"
|
|
37
|
+
aria-disabled="${x => x.ariaDisabled}"
|
|
38
|
+
aria-errormessage="${x => x.ariaErrormessage}"
|
|
39
|
+
aria-flowto="${x => x.ariaFlowto}"
|
|
40
|
+
aria-haspopup="${x => x.ariaHaspopup}"
|
|
41
|
+
aria-hidden="${x => x.ariaHidden}"
|
|
42
|
+
aria-invalid="${x => x.ariaInvalid}"
|
|
43
|
+
aria-keyshortcuts="${x => x.ariaKeyshortcuts}"
|
|
44
|
+
aria-label="${x => x.ariaLabel}"
|
|
45
|
+
aria-labelledby="${x => x.ariaLabelledby}"
|
|
46
|
+
aria-live="${x => x.ariaLive}"
|
|
47
|
+
aria-owns="${x => x.ariaOwns}"
|
|
48
|
+
aria-relevant="${x => x.ariaRelevant}"
|
|
49
|
+
aria-roledescription="${x => x.ariaRoledescription}"
|
|
50
|
+
@input="${x => x.onTextAreaInput()}"
|
|
51
|
+
@change="${x => x.handleChange()}"
|
|
52
|
+
${ref('control')}
|
|
53
|
+
></textarea>
|
|
54
|
+
<${iconExclamationMarkTag}
|
|
55
|
+
severity="error"
|
|
56
|
+
class="error-icon ${x => (x.scrollbarWidth >= 0 ? 'scrollbar-width-calculated' : '')}"
|
|
57
|
+
style="--ni-private-scrollbar-width: ${x => x.scrollbarWidth}px;"
|
|
58
|
+
></${iconExclamationMarkTag}>
|
|
59
|
+
${errorTextTemplate}
|
|
60
|
+
</div>
|
|
61
|
+
`;
|
|
62
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../src/text-area/template.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ni/nimble-components",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.9.1",
|
|
4
4
|
"description": "Styled web components for the NI Nimble Design System",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const cellStyles: import("@microsoft/fast-element").ElementStyles;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/table-column/text/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EACH,QAAQ,EACR,aAAa,EACb,qBAAqB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;gBAEb,QAAQ;iBACP,aAAa;;;;;;;iBAOb,qBAAqB;;CAErC,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { TableColumnTextCellRecord, TableColumnTextColumnConfig } from '.';
|
|
2
|
-
import type { TableCellState } from '../base/types';
|
|
3
|
-
export declare const cellTemplate: import("@microsoft/fast-element").ViewTemplate<TableCellState<TableColumnTextCellRecord, TableColumnTextColumnConfig>, any>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { html } from '@microsoft/fast-element';
|
|
2
|
-
const getCellContent = (cellState) => {
|
|
3
|
-
return typeof cellState.cellRecord.value === 'string'
|
|
4
|
-
? cellState.cellRecord.value
|
|
5
|
-
: cellState.columnConfig.placeholder;
|
|
6
|
-
};
|
|
7
|
-
const setTitleWhenOverflow = (span, title) => {
|
|
8
|
-
if (title && span.offsetWidth < span.scrollWidth) {
|
|
9
|
-
span.setAttribute('title', title);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
const removeTitle = (span) => {
|
|
13
|
-
span.removeAttribute('title');
|
|
14
|
-
};
|
|
15
|
-
export const cellTemplate = html `
|
|
16
|
-
<span
|
|
17
|
-
class="${x => (typeof x.cellRecord.value === 'string' ? '' : 'placeholder')}"
|
|
18
|
-
@mouseover="${(x, c) => setTitleWhenOverflow(c.event.target, getCellContent(x))}"
|
|
19
|
-
@mouseout="${(_x, c) => removeTitle(c.event.target)}"
|
|
20
|
-
>
|
|
21
|
-
${x => getCellContent(x)}
|
|
22
|
-
</span>
|
|
23
|
-
`;
|
|
24
|
-
//# sourceMappingURL=template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/table-column/text/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAI/C,MAAM,cAAc,GAAG,CACnB,SAGC,EACK,EAAE;IACR,OAAO,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ;QACjD,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;QAC5B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC;AAC7C,CAAC,CAAC;AACF,MAAM,oBAAoB,GAAG,CAAC,IAAiB,EAAE,KAAa,EAAQ,EAAE;IACpE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;QAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACrC;AACL,CAAC,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAQ,EAAE;IAC5C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAE/B;;iBAEgB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;sBAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAC5C,CAAC,CAAC,KAAK,CAAC,MAAqB,EAC7B,cAAc,CAAC,CAAC,CAAC,CACpB;qBACgB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAqB,CAAC;;UAEhE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;;CAE/B,CAAC"}
|