@ni/nimble-components 21.4.0 → 21.5.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 (33) hide show
  1. package/dist/all-components-bundle.js +864 -73
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +3598 -3450
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/anchored-region/styles.js +6 -1
  6. package/dist/esm/anchored-region/styles.js.map +1 -1
  7. package/dist/esm/label-provider/core/index.d.ts +6 -0
  8. package/dist/esm/label-provider/core/index.js +10 -2
  9. package/dist/esm/label-provider/core/index.js.map +1 -1
  10. package/dist/esm/label-provider/core/label-token-defaults.js +3 -1
  11. package/dist/esm/label-provider/core/label-token-defaults.js.map +1 -1
  12. package/dist/esm/label-provider/core/label-tokens.d.ts +2 -0
  13. package/dist/esm/label-provider/core/label-tokens.js +8 -0
  14. package/dist/esm/label-provider/core/label-tokens.js.map +1 -1
  15. package/dist/esm/patterns/dropdown/styles.js +0 -4
  16. package/dist/esm/patterns/dropdown/styles.js.map +1 -1
  17. package/dist/esm/select/index.d.ts +251 -7
  18. package/dist/esm/select/index.js +653 -19
  19. package/dist/esm/select/index.js.map +1 -1
  20. package/dist/esm/select/models/select-form-associated.d.ts +16 -0
  21. package/dist/esm/select/models/select-form-associated.js +19 -0
  22. package/dist/esm/select/models/select-form-associated.js.map +1 -0
  23. package/dist/esm/select/styles.js +89 -1
  24. package/dist/esm/select/styles.js.map +1 -1
  25. package/dist/esm/select/template.js +71 -37
  26. package/dist/esm/select/template.js.map +1 -1
  27. package/dist/esm/select/testing/select.pageobject.d.ts +32 -0
  28. package/dist/esm/select/testing/select.pageobject.js +128 -0
  29. package/dist/esm/select/testing/select.pageobject.js.map +1 -0
  30. package/dist/esm/select/types.d.ts +9 -0
  31. package/dist/esm/select/types.js +8 -0
  32. package/dist/esm/select/types.js.map +1 -1
  33. package/package.json +4 -1
@@ -2,9 +2,14 @@ import { css } from '@microsoft/fast-element';
2
2
  import { ZIndexLevels } from '../utilities/style/types';
3
3
  export const styles = css `
4
4
  :host {
5
- contain: layout;
5
+ /* Avoid using the 'display' helper to customize hidden behavior */
6
6
  display: block;
7
+ contain: layout;
7
8
  z-index: ${ZIndexLevels.zIndex1000};
8
9
  }
10
+
11
+ :host([hidden]) {
12
+ visibility: hidden;
13
+ }
9
14
  `;
10
15
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/anchored-region/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;mBAIN,YAAY,CAAC,UAAU;;CAEzC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/anchored-region/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;mBAKN,YAAY,CAAC,UAAU;;;;;;CAMzC,CAAC"}
@@ -11,6 +11,8 @@ declare const supportedLabels: {
11
11
  readonly errorIcon: import("@microsoft/fast-foundation").DesignToken<string>;
12
12
  readonly warningIcon: import("@microsoft/fast-foundation").DesignToken<string>;
13
13
  readonly informationIcon: import("@microsoft/fast-foundation").DesignToken<string>;
14
+ readonly filterSearch: import("@microsoft/fast-foundation").DesignToken<string>;
15
+ readonly filterNoResults: import("@microsoft/fast-foundation").DesignToken<string>;
14
16
  };
15
17
  /**
16
18
  * Core label provider for Nimble
@@ -22,6 +24,8 @@ export declare class LabelProviderCore extends LabelProviderBase<typeof supporte
22
24
  errorIcon: string | undefined;
23
25
  warningIcon: string | undefined;
24
26
  informationIcon: string | undefined;
27
+ filterSearch: string | undefined;
28
+ filterNoResults: string | undefined;
25
29
  protected readonly supportedLabels: {
26
30
  readonly popupDismiss: import("@microsoft/fast-foundation").DesignToken<string>;
27
31
  readonly numericDecrement: import("@microsoft/fast-foundation").DesignToken<string>;
@@ -29,6 +33,8 @@ export declare class LabelProviderCore extends LabelProviderBase<typeof supporte
29
33
  readonly errorIcon: import("@microsoft/fast-foundation").DesignToken<string>;
30
34
  readonly warningIcon: import("@microsoft/fast-foundation").DesignToken<string>;
31
35
  readonly informationIcon: import("@microsoft/fast-foundation").DesignToken<string>;
36
+ readonly filterSearch: import("@microsoft/fast-foundation").DesignToken<string>;
37
+ readonly filterNoResults: import("@microsoft/fast-foundation").DesignToken<string>;
32
38
  };
33
39
  }
34
40
  export declare const labelProviderCoreTag = "nimble-label-provider-core";
@@ -2,14 +2,16 @@ import { __decorate } from "tslib";
2
2
  import { attr } from '@microsoft/fast-element';
3
3
  import { DesignSystem } from '@microsoft/fast-foundation';
4
4
  import { LabelProviderBase } from '../base';
5
- import { popupDismissLabel, numericDecrementLabel, numericIncrementLabel, errorIconLabel, warningIconLabel, informationIconLabel } from './label-tokens';
5
+ import { popupDismissLabel, numericDecrementLabel, numericIncrementLabel, errorIconLabel, warningIconLabel, informationIconLabel, filterSearchLabel, filterNoResultsLabel } from './label-tokens';
6
6
  const supportedLabels = {
7
7
  popupDismiss: popupDismissLabel,
8
8
  numericDecrement: numericDecrementLabel,
9
9
  numericIncrement: numericIncrementLabel,
10
10
  errorIcon: errorIconLabel,
11
11
  warningIcon: warningIconLabel,
12
- informationIcon: informationIconLabel
12
+ informationIcon: informationIconLabel,
13
+ filterSearch: filterSearchLabel,
14
+ filterNoResults: filterNoResultsLabel
13
15
  };
14
16
  /**
15
17
  * Core label provider for Nimble
@@ -38,6 +40,12 @@ __decorate([
38
40
  __decorate([
39
41
  attr({ attribute: 'information-icon' })
40
42
  ], LabelProviderCore.prototype, "informationIcon", void 0);
43
+ __decorate([
44
+ attr({ attribute: 'filter-search' })
45
+ ], LabelProviderCore.prototype, "filterSearch", void 0);
46
+ __decorate([
47
+ attr({ attribute: 'filter-no-results' })
48
+ ], LabelProviderCore.prototype, "filterNoResults", void 0);
41
49
  const nimbleLabelProviderCore = LabelProviderCore.compose({
42
50
  baseName: 'label-provider-core'
43
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/label-provider/core/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAmB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,eAAe,GAAG;IACpB,YAAY,EAAE,iBAAiB;IAC/B,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE,qBAAqB;IACvC,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,oBAAoB;CAC/B,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,iBACT,SAAQ,iBAAyC;IADrD;;QAqBgC,oBAAe,GAAG,eAAe,CAAC;IAClE,CAAC;CAAA;AAlBG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;uDACG;AAGxC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;2DACG;AAG5C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;2DACG;AAG5C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;oDACG;AAGrC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;sDACG;AAGvC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;0DACG;AAK/C,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACtD,QAAQ,EAAE,qBAAqB;CAClC,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/label-provider/core/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAmB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACvB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,eAAe,GAAG;IACpB,YAAY,EAAE,iBAAiB;IAC/B,gBAAgB,EAAE,qBAAqB;IACvC,gBAAgB,EAAE,qBAAqB;IACvC,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,oBAAoB;IACrC,YAAY,EAAE,iBAAiB;IAC/B,eAAe,EAAE,oBAAoB;CAC/B,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,iBACT,SAAQ,iBAAyC;IADrD;;QA2BgC,oBAAe,GAAG,eAAe,CAAC;IAClE,CAAC;CAAA;AAxBG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;uDACG;AAGxC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;2DACG;AAG5C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;2DACG;AAG5C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;oDACG;AAGrC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;sDACG;AAGvC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;0DACG;AAG3C;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;uDACG;AAGxC;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;0DACE;AAK/C,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACtD,QAAQ,EAAE,qBAAqB;CAClC,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,4BAA4B,CAAC"}
@@ -4,6 +4,8 @@ export const coreLabelDefaults = {
4
4
  numericDecrementLabel: 'Decrement',
5
5
  errorIconLabel: 'Error',
6
6
  warningIconLabel: 'Warning',
7
- informationIconLabel: 'Information'
7
+ informationIconLabel: 'Information',
8
+ filterSearchLabel: 'Search',
9
+ filterNoResultsLabel: 'No items found'
8
10
  };
9
11
  //# sourceMappingURL=label-token-defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label-token-defaults.js","sourceRoot":"","sources":["../../../../src/label-provider/core/label-token-defaults.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACtE,iBAAiB,EAAE,OAAO;IAC1B,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,WAAW;IAClC,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,SAAS;IAC3B,oBAAoB,EAAE,aAAa;CACtC,CAAC"}
1
+ {"version":3,"file":"label-token-defaults.js","sourceRoot":"","sources":["../../../../src/label-provider/core/label-token-defaults.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACtE,iBAAiB,EAAE,OAAO;IAC1B,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,WAAW;IAClC,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,SAAS;IAC3B,oBAAoB,EAAE,aAAa;IACnC,iBAAiB,EAAE,QAAQ;IAC3B,oBAAoB,EAAE,gBAAgB;CACzC,CAAC"}
@@ -5,3 +5,5 @@ export declare const numericIncrementLabel: DesignToken<string>;
5
5
  export declare const errorIconLabel: DesignToken<string>;
6
6
  export declare const warningIconLabel: DesignToken<string>;
7
7
  export declare const informationIconLabel: DesignToken<string>;
8
+ export declare const filterSearchLabel: DesignToken<string>;
9
+ export declare const filterNoResultsLabel: DesignToken<string>;
@@ -24,4 +24,12 @@ export const informationIconLabel = DesignToken.create({
24
24
  name: 'information-icon-label',
25
25
  cssCustomPropertyName: null
26
26
  }).withDefault(coreLabelDefaults.informationIconLabel);
27
+ export const filterSearchLabel = DesignToken.create({
28
+ name: 'filter-search-label',
29
+ cssCustomPropertyName: null
30
+ }).withDefault(coreLabelDefaults.filterSearchLabel);
31
+ export const filterNoResultsLabel = DesignToken.create({
32
+ name: 'filter-no-results-label',
33
+ cssCustomPropertyName: null
34
+ }).withDefault(coreLabelDefaults.filterNoResultsLabel);
27
35
  //# sourceMappingURL=label-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"label-tokens.js","sourceRoot":"","sources":["../../../../src/label-provider/core/label-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAS;IACxD,IAAI,EAAE,qBAAqB;IAC3B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC5D,IAAI,EAAE,yBAAyB;IAC/B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC5D,IAAI,EAAE,yBAAyB;IAC/B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAS;IACrD,IAAI,EAAE,kBAAkB;IACxB,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAS;IACvD,IAAI,EAAE,oBAAoB;IAC1B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC3D,IAAI,EAAE,wBAAwB;IAC9B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"label-tokens.js","sourceRoot":"","sources":["../../../../src/label-provider/core/label-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAS;IACxD,IAAI,EAAE,qBAAqB;IAC3B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC5D,IAAI,EAAE,yBAAyB;IAC/B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC5D,IAAI,EAAE,yBAAyB;IAC/B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAS;IACrD,IAAI,EAAE,kBAAkB;IACxB,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAS;IACvD,IAAI,EAAE,oBAAoB;IAC1B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC3D,IAAI,EAAE,wBAAwB;IAC9B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAS;IACxD,IAAI,EAAE,qBAAqB;IAC3B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAS;IAC3D,IAAI,EAAE,yBAAyB;IAC/B,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC"}
@@ -117,10 +117,6 @@ export const styles = css `
117
117
  border-bottom-color: ${failColor};
118
118
  }
119
119
 
120
- .anchored-region[hidden] {
121
- visibility: hidden;
122
- }
123
-
124
120
  .listbox {
125
121
  box-sizing: border-box;
126
122
  display: inline-flex;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/patterns/dropdown/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,mBAAmB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;iBAIX,aAAa;gBACd,QAAQ;kBACN,aAAa;;;UAGrB,cAAc;;;;mDAI2B,WAAW;;;;;;;;uBAQvC,WAAW;;;;yBAIT,gBAAgB;;4BAEb,UAAU;;;;;;;;;YAS1B,YAAY;;;;;+BAKO,SAAS;;;;;;4BAMZ,WAAW;;;;yBAId,gBAAgB;;4BAEb,UAAU;;;;;;;;;;YAU1B,YAAY;;;;;+BAKO,SAAS;;;;;;;;;;;;;;;;;;iCAkBP,qBAAqB;;mBAEnC,WAAW;;;;+BAIC,gBAAgB;;;;;iBAK9B,qBAAqB;6BACT,qBAAqB;;;;;;+BAMnB,SAAS;;;;;;;;;;;;;wCAaA,YAAY;iEACa,YAAY;sBACvD,mBAAmB;4BACb,gBAAgB;4BAChB,0BAA0B;;;;;;;;;;;;;;;;;;;;0BAoB5B,YAAY;;;;uBAIf,YAAY;;;;;;;;;;;wBAWX,aAAa;;;;iBAIpB,qBAAqB;;;;;;;;;;;;;iBAarB,QAAQ;kBACP,QAAQ;gBACV,aAAa;;;;gBAIb,qBAAqB;;;;;;;;;;;CAWpC,CAAC,aAAa,CACX,kBAAkB,CACd,kBAAkB,CAAC,SAAS,EAC5B,GAAG,CAAA;;uCAE4B,WAAW;;;;;qCAKb,qBAAqB;;SAEjD,CACJ,EACD,kBAAkB,CACd,kBAAkB,CAAC,OAAO,EAC1B,GAAG,CAAA;;gCAEqB,WAAW;;;SAGlC,CACJ,EACD,kBAAkB,CACd,kBAAkB,CAAC,KAAK,EACxB,GAAG,CAAA;;yCAE8B,qBAAqB;;;;uCAIvB,WAAW;;;;;yCAKT,qBAAqB;;SAErD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;SAEnD,CACJ,CACJ,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/patterns/dropdown/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,kDAAkD,CAAC;AACzE,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,mBAAmB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,aAAa,CAAC;;;;iBAIX,aAAa;gBACd,QAAQ;kBACN,aAAa;;;UAGrB,cAAc;;;;mDAI2B,WAAW;;;;;;;;uBAQvC,WAAW;;;;yBAIT,gBAAgB;;4BAEb,UAAU;;;;;;;;;YAS1B,YAAY;;;;;+BAKO,SAAS;;;;;;4BAMZ,WAAW;;;;yBAId,gBAAgB;;4BAEb,UAAU;;;;;;;;;;YAU1B,YAAY;;;;;+BAKO,SAAS;;;;;;;;;;;;;;;;;;iCAkBP,qBAAqB;;mBAEnC,WAAW;;;;+BAIC,gBAAgB;;;;;iBAK9B,qBAAqB;6BACT,qBAAqB;;;;;;+BAMnB,SAAS;;;;;;;;;wCASA,YAAY;iEACa,YAAY;sBACvD,mBAAmB;4BACb,gBAAgB;4BAChB,0BAA0B;;;;;;;;;;;;;;;;;;;;0BAoB5B,YAAY;;;;uBAIf,YAAY;;;;;;;;;;;wBAWX,aAAa;;;;iBAIpB,qBAAqB;;;;;;;;;;;;;iBAarB,QAAQ;kBACP,QAAQ;gBACV,aAAa;;;;gBAIb,qBAAqB;;;;;;;;;;;CAWpC,CAAC,aAAa,CACX,kBAAkB,CACd,kBAAkB,CAAC,SAAS,EAC5B,GAAG,CAAA;;uCAE4B,WAAW;;;;;qCAKb,qBAAqB;;SAEjD,CACJ,EACD,kBAAkB,CACd,kBAAkB,CAAC,OAAO,EAC1B,GAAG,CAAA;;gCAEqB,WAAW;;;SAGlC,CACJ,EACD,kBAAkB,CACd,kBAAkB,CAAC,KAAK,EACxB,GAAG,CAAA;;yCAE8B,qBAAqB;;;;uCAIvB,WAAW;;;;;yCAKT,qBAAqB;;SAErD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;;SAEnD,CACJ,CACJ,CAAC"}
@@ -1,16 +1,25 @@
1
- import { AnchoredRegion, Select as FoundationSelect } from '@microsoft/fast-foundation';
1
+ import { AnchoredRegion, ListboxOption, SelectPosition } from '@microsoft/fast-foundation';
2
2
  import { DropdownAppearance } from '../patterns/dropdown/types';
3
3
  import type { ErrorPattern } from '../patterns/error/types';
4
+ import { FilterMode } from './types';
5
+ import { FormAssociatedSelect } from './models/select-form-associated';
4
6
  declare global {
5
7
  interface HTMLElementTagNameMap {
6
8
  'nimble-select': Select;
7
9
  }
8
10
  }
11
+ declare type BooleanOrVoid = boolean | void;
9
12
  /**
10
- * A nimble-styled HTML select
13
+ * A nimble-styled HTML select.
11
14
  */
12
- export declare class Select extends FoundationSelect implements ErrorPattern {
15
+ export declare class Select extends FormAssociatedSelect implements ErrorPattern {
13
16
  appearance: DropdownAppearance;
17
+ /**
18
+ * Reflects the placement for the listbox when the select is open.
19
+ *
20
+ * @public
21
+ */
22
+ positionAttribute?: SelectPosition;
14
23
  /**
15
24
  * A message explaining why the value is invalid.
16
25
  *
@@ -20,17 +29,252 @@ export declare class Select extends FoundationSelect implements ErrorPattern {
20
29
  */
21
30
  errorText: string | undefined;
22
31
  errorVisible: boolean;
32
+ filterMode: FilterMode;
23
33
  /**
24
34
  * @internal
25
35
  */
26
- region?: AnchoredRegion;
36
+ open: boolean;
37
+ /**
38
+ * Holds the current state for the calculated position of the listbox.
39
+ *
40
+ * @public
41
+ */
42
+ position?: SelectPosition;
43
+ /**
44
+ * The ref to the internal `.control` element.
45
+ *
46
+ * @internal
47
+ */
48
+ control: HTMLElement;
49
+ /**
50
+ * Reference to the internal listbox element.
51
+ *
52
+ * @internal
53
+ */
54
+ listbox: HTMLDivElement;
55
+ /**
56
+ * The unique id for the internal listbox element.
57
+ *
58
+ * @internal
59
+ */
60
+ listboxId: string;
61
+ /**
62
+ * @internal
63
+ */
64
+ scrollableRegion: HTMLElement;
65
+ /**
66
+ * @internal
67
+ */
68
+ filterInput?: HTMLInputElement;
69
+ /**
70
+ * @internal
71
+ */
72
+ anchoredRegion: AnchoredRegion;
27
73
  /** @internal */
28
74
  hasOverflow: boolean;
29
- setPositioning(): void;
75
+ /**
76
+ * @internal
77
+ */
78
+ filteredOptions: ListboxOption[];
79
+ /**
80
+ * @internal
81
+ */
82
+ filter: string;
83
+ /**
84
+ * @internal
85
+ */
86
+ committedSelectedOption: ListboxOption | undefined;
87
+ /**
88
+ * The max height for the listbox when opened.
89
+ *
90
+ * @internal
91
+ */
92
+ maxHeight: number;
93
+ /**
94
+ * The component is collapsible when in single-selection mode with no size attribute.
95
+ *
96
+ * @internal
97
+ */
98
+ get collapsible(): boolean;
99
+ private _value;
100
+ private forcedPosition;
101
+ private indexWhenOpened?;
102
+ /**
103
+ * @internal
104
+ */
105
+ connectedCallback(): void;
106
+ /**
107
+ * The list of options. This mirrors FAST's override implementation for this
108
+ * member for the Combobox to support a filtered list in the dropdown.
109
+ *
110
+ * @public
111
+ * @remarks
112
+ * Overrides `Listbox.options`.
113
+ */
114
+ get options(): ListboxOption[];
115
+ set options(value: ListboxOption[]);
116
+ get value(): string;
117
+ set value(next: string);
118
+ /**
119
+ * @internal
120
+ */
121
+ get displayValue(): string;
122
+ /**
123
+ * @internal
124
+ */
125
+ anchoredRegionChanged(_prev: AnchoredRegion | undefined, _next: AnchoredRegion | undefined): void;
126
+ /**
127
+ * @internal
128
+ */
129
+ controlChanged(_prev: HTMLElement | undefined, _next: HTMLElement | undefined): void;
130
+ /**
131
+ * @internal
132
+ */
30
133
  slottedOptionsChanged(prev: Element[], next: Element[]): void;
31
- private regionChanged;
32
- private controlChanged;
134
+ /**
135
+ * @internal
136
+ */
137
+ clickHandler(e: MouseEvent): BooleanOrVoid;
138
+ /**
139
+ * Updates the value when an option's value changes.
140
+ *
141
+ * @param source - the source object
142
+ * @param propertyName - the property to evaluate
143
+ *
144
+ * @internal
145
+ * @override
146
+ */
147
+ handleChange(source: unknown, propertyName: string): void;
148
+ /**
149
+ * Prevents focus when size is set and a scrollbar is clicked.
150
+ *
151
+ * @param e - the mouse event object
152
+ *
153
+ * @override
154
+ * @internal
155
+ */
156
+ mousedownHandler(e: MouseEvent): BooleanOrVoid;
157
+ /**
158
+ * @internal
159
+ */
160
+ regionLoadedHandler(): void;
161
+ /**
162
+ * Sets the multiple property on the proxy element.
163
+ *
164
+ * @param prev - the previous multiple value
165
+ * @param next - the current multiple value
166
+ */
167
+ multipleChanged(prev: boolean | undefined, next: boolean): void;
168
+ /**
169
+ * @internal
170
+ */
171
+ inputClickHandler(e: MouseEvent): void;
172
+ /**
173
+ * @internal
174
+ */
175
+ changeValueHandler(): void;
176
+ /**
177
+ * @internal
178
+ */
179
+ updateDisplayValue(): void;
180
+ /**
181
+ * Handle content changes on the control input.
182
+ *
183
+ * @param e - the input event
184
+ * @internal
185
+ */
186
+ inputHandler(e: InputEvent): boolean;
187
+ /**
188
+ * @internal
189
+ */
190
+ focusoutHandler(e: FocusEvent): BooleanOrVoid;
191
+ /**
192
+ * @internal
193
+ */
194
+ keydownHandler(e: KeyboardEvent): BooleanOrVoid;
195
+ /**
196
+ * Updates the proxy value when the selected index changes.
197
+ *
198
+ * @param prev - the previous selected index
199
+ * @param next - the next selected index
200
+ *
201
+ * @internal
202
+ */
203
+ selectedIndexChanged(prev: number | undefined, next: number): void;
204
+ /**
205
+ * Synchronize the `aria-disabled` property when the `disabled` property changes.
206
+ *
207
+ * @param prev - The previous disabled value
208
+ * @param next - The next disabled value
209
+ *
210
+ * @internal
211
+ */
212
+ disabledChanged(prev: boolean, next: boolean): void;
213
+ /**
214
+ * Reset the element to its first selectable option when its parent form is reset.
215
+ *
216
+ * @internal
217
+ */
218
+ formResetCallback(): void;
219
+ protected setSelectedOptions(): void;
220
+ protected focusAndScrollOptionIntoView(): void;
221
+ protected positionChanged(_: SelectPosition | undefined, next: SelectPosition | undefined): void;
222
+ /**
223
+ * Updates the proxy's size property when the size attribute changes.
224
+ *
225
+ * @param prev - the previous size
226
+ * @param next - the current size
227
+ *
228
+ * @override
229
+ * @internal
230
+ */
231
+ protected sizeChanged(prev: number | undefined, next: number): void;
232
+ protected openChanged(): void;
233
+ /**
234
+ * Updates the selectedness of each option when the list of selected options changes.
235
+ *
236
+ * @param prev - the previous list of selected options
237
+ * @param next - the current list of selected options
238
+ *
239
+ * @override
240
+ * @internal
241
+ */
242
+ protected selectedOptionsChanged(prev: ListboxOption[] | undefined, next: ListboxOption[]): void;
243
+ /**
244
+ * Sets the selected index to match the first option with the selected attribute, or
245
+ * the first selectable option.
246
+ *
247
+ * @override
248
+ * @internal
249
+ */
250
+ protected setDefaultSelectedOption(): void;
251
+ private setPositioning;
252
+ /**
253
+ * Filter available options by text value.
254
+ *
255
+ * @public
256
+ */
257
+ private filterOptions;
258
+ /**
259
+ * Sets the value and display value to match the first selected option.
260
+ *
261
+ * @param shouldEmit - if true, the input and change events will be emitted
262
+ *
263
+ * @internal
264
+ */
265
+ private updateValue;
266
+ /**
267
+ * Resets and fills the proxy to match the component's options.
268
+ *
269
+ * @internal
270
+ */
271
+ private setProxyOptions;
272
+ private clearSelection;
273
+ private filterChanged;
33
274
  private maxHeightChanged;
275
+ private initializeOpenState;
34
276
  private updateListboxMaxHeightCssVariable;
277
+ private updateSelectedIndexFromFilteredSet;
35
278
  }
36
279
  export declare const selectTag = "nimble-select";
280
+ export {};