@ng-matero/extensions 19.4.1 → 20.0.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.
Files changed (283) hide show
  1. package/_index.scss +1 -1
  2. package/alert/_alert-theme.scss +26 -31
  3. package/alert/_m2-alert.scss +59 -0
  4. package/alert/_m3-alert.scss +41 -0
  5. package/alert/alert.scss +27 -31
  6. package/alert/index.d.ts +30 -5
  7. package/button/index.d.ts +31 -5
  8. package/checkbox-group/index.d.ts +117 -5
  9. package/colorpicker/_colorpicker-theme.scss +31 -36
  10. package/{core/tokens/m2/mtx/_colorpicker.scss → colorpicker/_m2-colorpicker.scss} +6 -10
  11. package/colorpicker/_m3-colorpicker.scss +23 -0
  12. package/colorpicker/colorpicker-toggle.scss +4 -9
  13. package/colorpicker/index.d.ts +285 -3
  14. package/column-resize/index.d.ts +456 -3
  15. package/core/index.d.ts +147 -5
  16. package/core/theming/_color-api-backwards-compatibility.scss +8 -15
  17. package/core/theming/_definition.scss +81 -75
  18. package/core/theming/_palettes.scss +1036 -0
  19. package/core/tokens/{m2/_index.scss → _m2-tokens.scss} +22 -22
  20. package/core/tokens/_m2-utils.scss +108 -0
  21. package/core/tokens/_m3-system.scss +128 -106
  22. package/core/tokens/_m3-tokens.scss +36 -282
  23. package/core/tokens/_m3-utils.scss +48 -0
  24. package/core/tokens/_token-utils.scss +67 -239
  25. package/core/tokens/m3/_index.scss +7 -0
  26. package/core/tokens/m3/_md-sys-color.scss +156 -0
  27. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  28. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  29. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  30. package/core/tokens/m3/_md-sys-state.scss +13 -0
  31. package/core/tokens/m3/_md-sys-typescale.scss +128 -0
  32. package/core/tokens/m3/_theme.scss +47 -0
  33. package/datetimepicker/_datetimepicker-theme.scss +29 -39
  34. package/datetimepicker/_m2-datetimepicker.scss +149 -0
  35. package/datetimepicker/_m3-datetimepicker.scss +81 -0
  36. package/datetimepicker/calendar-body.scss +31 -56
  37. package/datetimepicker/calendar.scss +43 -79
  38. package/datetimepicker/clock.scss +28 -47
  39. package/datetimepicker/datetimepicker-content.scss +9 -15
  40. package/datetimepicker/datetimepicker-toggle.scss +4 -9
  41. package/datetimepicker/index.d.ts +1208 -3
  42. package/datetimepicker/time-view.scss +26 -32
  43. package/dialog/index.d.ts +54 -5
  44. package/drawer/_drawer-theme.scss +25 -30
  45. package/{core/tokens/m2/mtx/_drawer.scss → drawer/_m2-drawer.scss} +9 -12
  46. package/drawer/_m3-drawer.scss +24 -0
  47. package/drawer/drawer-container.scss +13 -24
  48. package/drawer/index.d.ts +221 -3
  49. package/fesm2022/mtxAlert.mjs +7 -7
  50. package/fesm2022/mtxAlert.mjs.map +1 -1
  51. package/fesm2022/mtxButton.mjs +11 -11
  52. package/fesm2022/mtxButton.mjs.map +1 -1
  53. package/fesm2022/mtxCheckboxGroup.mjs +7 -7
  54. package/fesm2022/mtxColorpicker.mjs +21 -21
  55. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  56. package/fesm2022/mtxColumnResize.mjs +232 -103
  57. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  58. package/fesm2022/mtxCore.mjs +21 -21
  59. package/fesm2022/mtxDatetimepicker.mjs +63 -67
  60. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  61. package/fesm2022/mtxDialog.mjs +10 -10
  62. package/fesm2022/mtxDialog.mjs.map +1 -1
  63. package/fesm2022/mtxDrawer.mjs +10 -10
  64. package/fesm2022/mtxGrid.mjs +78 -77
  65. package/fesm2022/mtxGrid.mjs.map +1 -1
  66. package/fesm2022/mtxLoader.mjs +7 -7
  67. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  68. package/fesm2022/mtxPopover.mjs +24 -25
  69. package/fesm2022/mtxPopover.mjs.map +1 -1
  70. package/fesm2022/mtxProgress.mjs +7 -7
  71. package/fesm2022/mtxSelect.mjs +54 -54
  72. package/fesm2022/mtxSelect.mjs.map +1 -1
  73. package/fesm2022/mtxSplit.mjs +10 -10
  74. package/fesm2022/mtxTooltip.mjs +13 -13
  75. package/fesm2022/mtxTooltip.mjs.map +1 -1
  76. package/grid/_grid-theme.scss +24 -34
  77. package/grid/_m2-grid.scss +66 -0
  78. package/grid/_m3-grid.scss +35 -0
  79. package/grid/column-menu.scss +6 -23
  80. package/grid/column-resize/_column-resize.scss +35 -30
  81. package/grid/grid.scss +41 -74
  82. package/grid/index.d.ts +799 -3
  83. package/index.d.ts +2 -5
  84. package/loader/_loader-theme.scss +26 -31
  85. package/{core/tokens/m2/mtx/_loader.scss → loader/_m2-loader.scss} +5 -10
  86. package/loader/_m3-loader.scss +20 -0
  87. package/loader/index.d.ts +43 -5
  88. package/loader/loader.scss +4 -5
  89. package/package.json +28 -28
  90. package/photoviewer/index.d.ts +26 -5
  91. package/{core/tokens/m2/mtx/_popover.scss → popover/_m2-popover.scss} +9 -12
  92. package/popover/_m3-popover.scss +26 -0
  93. package/popover/_popover-theme.scss +26 -31
  94. package/popover/index.d.ts +399 -3
  95. package/popover/popover.scss +23 -29
  96. package/prebuilt-themes/azure-blue.css +1 -1
  97. package/prebuilt-themes/cyan-orange.css +1 -1
  98. package/prebuilt-themes/deeppurple-amber.css +1 -1
  99. package/prebuilt-themes/indigo-pink.css +1 -1
  100. package/prebuilt-themes/magenta-violet.css +1 -1
  101. package/prebuilt-themes/pink-bluegrey.css +1 -1
  102. package/prebuilt-themes/purple-green.css +1 -1
  103. package/prebuilt-themes/rose-red.css +1 -1
  104. package/progress/_m2-progress.scss +53 -0
  105. package/progress/_m3-progress.scss +33 -0
  106. package/progress/_progress-theme.scss +22 -34
  107. package/progress/index.d.ts +35 -5
  108. package/progress/progress.scss +28 -43
  109. package/select/_m2-select.scss +79 -0
  110. package/select/_m3-select.scss +46 -0
  111. package/select/_select-theme.scss +27 -37
  112. package/select/index.d.ts +381 -3
  113. package/select/select.scss +189 -205
  114. package/{core/tokens/m2/mtx/_split.scss → split/_m2-split.scss} +6 -9
  115. package/split/_m3-split.scss +23 -0
  116. package/split/_split-theme.scss +31 -34
  117. package/split/index.d.ts +255 -3
  118. package/split/split.scss +8 -11
  119. package/tooltip/_m2-tooltip.scss +50 -0
  120. package/tooltip/_m3-tooltip.scss +28 -0
  121. package/tooltip/_tooltip-theme.scss +23 -47
  122. package/tooltip/index.d.ts +345 -3
  123. package/tooltip/tooltip.scss +11 -15
  124. package/alert/alert-module.d.ts +0 -8
  125. package/alert/alert.d.ts +0 -19
  126. package/alert/public-api.d.ts +0 -2
  127. package/button/button-loading.d.ts +0 -19
  128. package/button/button-module.d.ts +0 -10
  129. package/button/public-api.d.ts +0 -2
  130. package/checkbox-group/checkbox-group-module.d.ts +0 -11
  131. package/checkbox-group/checkbox-group.d.ts +0 -86
  132. package/checkbox-group/interfaces.d.ts +0 -17
  133. package/checkbox-group/public-api.d.ts +0 -3
  134. package/colorpicker/colorpicker-animations.d.ts +0 -9
  135. package/colorpicker/colorpicker-input.d.ts +0 -88
  136. package/colorpicker/colorpicker-module.d.ts +0 -15
  137. package/colorpicker/colorpicker-toggle.d.ts +0 -39
  138. package/colorpicker/colorpicker.d.ts +0 -140
  139. package/colorpicker/public-api.d.ts +0 -5
  140. package/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -29
  141. package/column-resize/column-resize-directives/column-resize.d.ts +0 -29
  142. package/column-resize/column-resize-directives/constants.d.ts +0 -10
  143. package/column-resize/column-resize-module.d.ts +0 -12
  144. package/column-resize/column-resize-notifier.d.ts +0 -48
  145. package/column-resize/column-resize.d.ts +0 -39
  146. package/column-resize/column-size-store.d.ts +0 -12
  147. package/column-resize/event-dispatcher.d.ts +0 -35
  148. package/column-resize/overlay-handle.d.ts +0 -43
  149. package/column-resize/polyfill.d.ts +0 -9
  150. package/column-resize/public-api.d.ts +0 -12
  151. package/column-resize/resizable.d.ts +0 -63
  152. package/column-resize/resize-ref.d.ts +0 -17
  153. package/column-resize/resize-strategy.d.ts +0 -84
  154. package/column-resize/selectors.d.ts +0 -10
  155. package/core/datetime/datetime-adapter.d.ts +0 -45
  156. package/core/datetime/datetime-formats.d.ts +0 -22
  157. package/core/datetime/datetime.module.d.ts +0 -15
  158. package/core/datetime/index.d.ts +0 -5
  159. package/core/datetime/native-datetime-adapter.d.ts +0 -40
  160. package/core/datetime/native-datetime-formats.d.ts +0 -2
  161. package/core/pipes/index.d.ts +0 -3
  162. package/core/pipes/is-template-ref.pipe.d.ts +0 -7
  163. package/core/pipes/pipes.module.d.ts +0 -9
  164. package/core/pipes/to-observable.pipe.d.ts +0 -8
  165. package/core/public-api.d.ts +0 -2
  166. package/core/theming/_inspection.scss +0 -38
  167. package/core/theming/_validation.scss +0 -5
  168. package/core/tokens/_density.scss +0 -49
  169. package/core/tokens/_format-tokens.scss +0 -5
  170. package/core/tokens/_token-definition.scss +0 -271
  171. package/core/tokens/m2/mdc/_plain-tooltip.scss +0 -63
  172. package/core/tokens/m2/mtx/_alert.scss +0 -62
  173. package/core/tokens/m2/mtx/_datetimepicker.scss +0 -152
  174. package/core/tokens/m2/mtx/_grid.scss +0 -69
  175. package/core/tokens/m2/mtx/_progress.scss +0 -56
  176. package/core/tokens/m2/mtx/_select.scss +0 -82
  177. package/core/tokens/m3/definitions/_index.scss +0 -9
  178. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  179. package/core/tokens/m3/definitions/_md-ref-palette.scss +0 -100
  180. package/core/tokens/m3/definitions/_md-ref-typeface.scss +0 -14
  181. package/core/tokens/m3/definitions/_md-sys-color.scss +0 -126
  182. package/core/tokens/m3/definitions/_md-sys-elevation.scss +0 -15
  183. package/core/tokens/m3/definitions/_md-sys-motion.scss +0 -46
  184. package/core/tokens/m3/definitions/_md-sys-shape.scss +0 -24
  185. package/core/tokens/m3/definitions/_md-sys-state.scss +0 -13
  186. package/core/tokens/m3/definitions/_md-sys-typescale.scss +0 -308
  187. package/core/tokens/m3/index.scss +0 -47
  188. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  189. package/core/tokens/m3/mtx/_alert.scss +0 -41
  190. package/core/tokens/m3/mtx/_colorpicker.scss +0 -19
  191. package/core/tokens/m3/mtx/_datetimepicker.scss +0 -140
  192. package/core/tokens/m3/mtx/_drawer.scss +0 -22
  193. package/core/tokens/m3/mtx/_grid.scss +0 -32
  194. package/core/tokens/m3/mtx/_loader.scss +0 -22
  195. package/core/tokens/m3/mtx/_popover.scss +0 -25
  196. package/core/tokens/m3/mtx/_progress.scss +0 -32
  197. package/core/tokens/m3/mtx/_select.scss +0 -76
  198. package/core/tokens/m3/mtx/_split.scss +0 -30
  199. package/datetimepicker/calendar-body.d.ts +0 -66
  200. package/datetimepicker/calendar.d.ts +0 -157
  201. package/datetimepicker/clock.d.ts +0 -101
  202. package/datetimepicker/datetimepicker-actions.d.ts +0 -36
  203. package/datetimepicker/datetimepicker-animations.d.ts +0 -11
  204. package/datetimepicker/datetimepicker-errors.d.ts +0 -2
  205. package/datetimepicker/datetimepicker-filtertype.d.ts +0 -5
  206. package/datetimepicker/datetimepicker-input.d.ts +0 -105
  207. package/datetimepicker/datetimepicker-intl.d.ts +0 -53
  208. package/datetimepicker/datetimepicker-module.d.ts +0 -22
  209. package/datetimepicker/datetimepicker-toggle.d.ts +0 -42
  210. package/datetimepicker/datetimepicker-types.d.ts +0 -6
  211. package/datetimepicker/datetimepicker.d.ts +0 -274
  212. package/datetimepicker/month-view.d.ts +0 -80
  213. package/datetimepicker/multi-year-view.d.ts +0 -86
  214. package/datetimepicker/public-api.d.ts +0 -16
  215. package/datetimepicker/time-view.d.ts +0 -147
  216. package/datetimepicker/year-view.d.ts +0 -68
  217. package/dialog/dialog-config.d.ts +0 -17
  218. package/dialog/dialog-container.d.ts +0 -11
  219. package/dialog/dialog-module.d.ts +0 -12
  220. package/dialog/dialog.d.ts +0 -15
  221. package/dialog/public-api.d.ts +0 -4
  222. package/drawer/drawer-animations.d.ts +0 -8
  223. package/drawer/drawer-config.d.ts +0 -63
  224. package/drawer/drawer-container.d.ts +0 -35
  225. package/drawer/drawer-module.d.ts +0 -10
  226. package/drawer/drawer-ref.d.ts +0 -53
  227. package/drawer/drawer.d.ts +0 -59
  228. package/drawer/public-api.d.ts +0 -6
  229. package/grid/cell.d.ts +0 -32
  230. package/grid/column-menu.d.ts +0 -39
  231. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -24
  232. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -24
  233. package/grid/column-resize/column-resize-directives/common.d.ts +0 -13
  234. package/grid/column-resize/column-resize-module.d.ts +0 -17
  235. package/grid/column-resize/index.d.ts +0 -7
  236. package/grid/column-resize/overlay-handle.d.ts +0 -32
  237. package/grid/column-resize/resizable-directives/common.d.ts +0 -19
  238. package/grid/column-resize/resizable-directives/resizable.d.ts +0 -32
  239. package/grid/column-resize/resize-strategy.d.ts +0 -20
  240. package/grid/expansion-toggle.d.ts +0 -17
  241. package/grid/grid-module.d.ts +0 -31
  242. package/grid/grid-pipes.d.ts +0 -39
  243. package/grid/grid-utils.d.ts +0 -33
  244. package/grid/grid.d.ts +0 -268
  245. package/grid/interfaces.d.ts +0 -180
  246. package/grid/public-api.d.ts +0 -17
  247. package/grid/selectable-cell.d.ts +0 -16
  248. package/loader/loader-module.d.ts +0 -10
  249. package/loader/loader.d.ts +0 -30
  250. package/loader/public-api.d.ts +0 -2
  251. package/photoviewer/photoviewer-module.d.ts +0 -7
  252. package/photoviewer/photoviewer.d.ts +0 -17
  253. package/photoviewer/public-api.d.ts +0 -2
  254. package/popover/popover-animations.d.ts +0 -11
  255. package/popover/popover-content.d.ts +0 -43
  256. package/popover/popover-errors.d.ts +0 -14
  257. package/popover/popover-interfaces.d.ts +0 -50
  258. package/popover/popover-module.d.ts +0 -13
  259. package/popover/popover-target.d.ts +0 -7
  260. package/popover/popover-trigger.d.ts +0 -132
  261. package/popover/popover-types.d.ts +0 -10
  262. package/popover/popover.d.ts +0 -147
  263. package/popover/public-api.d.ts +0 -8
  264. package/progress/progress-module.d.ts +0 -8
  265. package/progress/progress.d.ts +0 -24
  266. package/progress/public-api.d.ts +0 -2
  267. package/public-api.d.ts +0 -2
  268. package/select/option.d.ts +0 -21
  269. package/select/public-api.d.ts +0 -5
  270. package/select/select-intl.d.ts +0 -18
  271. package/select/select-module.d.ts +0 -12
  272. package/select/select.d.ts +0 -270
  273. package/select/templates.d.ts +0 -67
  274. package/split/interfaces.d.ts +0 -52
  275. package/split/public-api.d.ts +0 -5
  276. package/split/split-module.d.ts +0 -9
  277. package/split/split-pane.d.ts +0 -53
  278. package/split/split.d.ts +0 -133
  279. package/split/utils.d.ts +0 -13
  280. package/tooltip/public-api.d.ts +0 -3
  281. package/tooltip/tooltip-animations.d.ts +0 -9
  282. package/tooltip/tooltip-module.d.ts +0 -13
  283. package/tooltip/tooltip.d.ts +0 -321
@@ -0,0 +1,79 @@
1
+ @use 'sass:map';
2
+ @use 'sass:math';
3
+ @use '@angular/material' as mat;
4
+ @use '../core/tokens/m2-utils';
5
+ @use '../core/style/elevation';
6
+
7
+ // Generates the tokens used to theme the option based on a palette.
8
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
9
+ @return (
10
+ select-option-selected-state-text-color: mat.get-theme-color($theme, $palette-name),
11
+ );
12
+ }
13
+
14
+ // Tokens that can't be configured through Angular Material's current theming API,
15
+ // but may be in a future version of the theming API.
16
+ @function get-unthemable-tokens() {
17
+ @return (
18
+ select-container-shape: 4px,
19
+ select-container-elevation-shadow: elevation.get-box-shadow(8),
20
+ );
21
+ }
22
+
23
+ // Tokens that can be configured through Angular Material's color theming API.
24
+ @function get-color-tokens($theme) {
25
+ $text-color: mat.get-theme-color($theme, foreground, text);
26
+ $hint-text-color: mat.get-theme-color($theme, foreground, hint-text);
27
+ $secondary-text-color: mat.get-theme-color($theme, foreground, secondary-text);
28
+ $disabled-text-color: mat.get-theme-color($theme, foreground, disabled-text);
29
+ $divider-color: mat.get-theme-color($theme, foreground, divider);
30
+ $hover-color: mat.get-theme-color($theme, background, hover);
31
+ $palette-tokens: private-get-color-palette-color-tokens($theme, primary);
32
+
33
+ @return map.merge($palette-tokens, (
34
+ select-container-text-color: $text-color,
35
+ select-placeholder-text-color: $hint-text-color,
36
+ select-disabled-text-color: $hint-text-color,
37
+
38
+ select-multiple-value-background-color: mat.get-theme-color($theme, background, unselected-chip),
39
+ select-multiple-value-outline-color: $divider-color,
40
+ select-multiple-value-disabled-outline-color: mat.get-theme-color($theme, foreground, divider, 0.06),
41
+ select-multiple-value-icon-hover-background-color: $divider-color,
42
+
43
+ select-clear-icon-color: $secondary-text-color,
44
+ select-clear-icon-hover-color: mat.get-theme-color($theme, warn),
45
+
46
+ select-enabled-arrow-color: $secondary-text-color,
47
+ select-disabled-arrow-color: $disabled-text-color,
48
+ select-invalid-arrow-color: mat.get-theme-color($theme, warn),
49
+
50
+ select-panel-background-color: mat.get-theme-color($theme, background, card),
51
+ select-panel-divider-color: $divider-color,
52
+ select-optgroup-label-text-color: $secondary-text-color,
53
+ select-option-label-text-color: $text-color,
54
+ select-option-selected-state-background-color: $hover-color,
55
+ select-option-hover-state-background-color: $hover-color,
56
+ select-option-disabled-state-text-color: $hint-text-color,
57
+ ));
58
+ }
59
+
60
+ // Tokens that can be configured through Angular Material's typography theming API.
61
+ @function get-typography-tokens($theme) {
62
+ @return ();
63
+ }
64
+
65
+ // Tokens that can be configured through Angular Material's density theming API.
66
+ @function get-density-tokens($theme) {
67
+ @return ();
68
+ }
69
+
70
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
71
+ // This is used to create token slots.
72
+ @function get-token-slots() {
73
+ @return mat.private-deep-merge-all(
74
+ get-unthemable-tokens(),
75
+ get-color-tokens(m2-utils.$placeholder-color-config),
76
+ get-typography-tokens(m2-utils.$placeholder-typography-config),
77
+ get-density-tokens(m2-utils.$placeholder-density-config)
78
+ );
79
+ }
@@ -0,0 +1,46 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../core/tokens/m3-utils';
4
+ @use '../core/tokens/m3';
5
+ @use '../core/style/elevation';
6
+
7
+ /// Generates custom tokens for the mtx-select.
8
+ @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
9
+ $system: m3-utils.get-system($theme);
10
+ @if $color-variant {
11
+ $system: m3-utils.replace-colors-with-variant($system, secondary, $color-variant);
12
+ }
13
+
14
+ $tokens: (
15
+ base: (
16
+ select-container-shape: map.get($system, corner-extra-small),
17
+ select-container-elevation-shadow: elevation.get-box-shadow(2),
18
+ ),
19
+ color: (
20
+ select-container-text-color: map.get($system, on-surface),
21
+ select-placeholder-text-color: m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
22
+ select-disabled-text-color: m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
23
+ select-multiple-value-background-color: transparent,
24
+ select-multiple-value-outline-color: map.get($system, outline),
25
+ select-multiple-value-disabled-outline-color: m3-utils.color-with-opacity(map.get($system, outline), 38%),
26
+ select-multiple-value-icon-hover-background-color: map.get($system, outline-variant),
27
+ select-clear-icon-color: map.get($system, on-surface),
28
+ select-clear-icon-hover-color: map.get($system, error),
29
+ select-enabled-arrow-color: map.get($system, on-surface),
30
+ select-disabled-arrow-color: m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
31
+ select-invalid-arrow-color: map.get($system, error),
32
+ select-panel-background-color: map.get($system, surface-container),
33
+ select-panel-divider-color: map.get($system, outline),
34
+ select-optgroup-label-text-color: map.get($system, on-surface),
35
+ select-option-label-text-color: map.get($system, on-surface),
36
+ select-option-selected-state-background-color: map.get($system, secondary-container),
37
+ select-option-selected-state-text-color: map.get($system, on-surface),
38
+ select-option-hover-state-background-color: m3-utils.color-with-opacity(map.get($system, on-surface), map.get($system,hover-state-layer-opacity)),
39
+ select-option-disabled-state-text-color: m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
40
+ ),
41
+ typography: (),
42
+ density: (),
43
+ );
44
+
45
+ @return $tokens;
46
+ }
@@ -1,45 +1,38 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
- @use '../core/theming/inspection';
4
- @use '../core/theming/validation';
5
3
  @use '../core/tokens/token-utils';
6
- @use '../core/tokens/m2/mtx/select' as tokens-mtx-select;
4
+ @use './m2-select';
5
+ @use './m3-select';
7
6
 
8
7
  @mixin base($theme) {
9
8
  @if mat.get-theme-version($theme) == 1 {
10
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
9
+ @include token-utils.create-token-values(map.get(m3-select.get-tokens($theme), base));
11
10
  }
12
11
  @else {
13
12
  @include mat.private-current-selector-or-root() {
14
- @include token-utils.create-token-values(
15
- tokens-mtx-select.$prefix,
16
- tokens-mtx-select.get-unthemable-tokens()
17
- );
13
+ @include token-utils.create-token-values-mixed(m2-select.get-unthemable-tokens());
18
14
  }
19
15
  }
20
16
  }
21
17
 
22
- @mixin color($theme, $options...) {
18
+ @mixin color($theme, $color-variant: null) {
23
19
  @if mat.get-theme-version($theme) == 1 {
24
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, color), $options...);
20
+ @include token-utils.create-token-values(map.get(m3-select.get-tokens($theme, $color-variant), color));
25
21
  }
26
22
  @else {
27
23
  @include mat.private-current-selector-or-root() {
28
- @include token-utils.create-token-values(
29
- tokens-mtx-select.$prefix,
30
- tokens-mtx-select.get-color-tokens($theme)
31
- );
24
+ @include token-utils.create-token-values-mixed(m2-select.get-color-tokens($theme));
32
25
  }
33
26
 
34
27
  .ng-dropdown-panel {
35
28
  &.mat-accent {
36
- $accent-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($theme, accent);
37
- @include token-utils.create-token-values(tokens-mtx-select.$prefix, $accent-tokens);
29
+ $accent-tokens: m2-select.private-get-color-palette-color-tokens($theme, accent);
30
+ @include token-utils.create-token-values-mixed($accent-tokens);
38
31
  }
39
32
 
40
33
  &.mat-warn {
41
- $warn-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($theme, warn);
42
- @include token-utils.create-token-values(tokens-mtx-select.$prefix, $warn-tokens);
34
+ $warn-tokens: m2-select.private-get-color-palette-color-tokens($theme, warn);
35
+ @include token-utils.create-token-values-mixed($warn-tokens);
43
36
  }
44
37
  }
45
38
  }
@@ -47,21 +40,22 @@
47
40
 
48
41
  @mixin typography($theme) {
49
42
  @if mat.get-theme-version($theme) == 1 {
50
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
43
+ @include token-utils.create-token-values(map.get(m3-select.get-tokens($theme), typography));
44
+ }
45
+ @else {
46
+ @include mat.private-current-selector-or-root() {
47
+ @include token-utils.create-token-values-mixed(m2-select.get-typography-tokens($theme));
48
+ }
51
49
  }
52
- @else {}
53
50
  }
54
51
 
55
52
  @mixin density($theme) {
56
53
  @if mat.get-theme-version($theme) == 1 {
57
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
54
+ @include token-utils.create-token-values(map.get(m3-select.get-tokens($theme), density));
58
55
  }
59
56
  @else {
60
57
  @include mat.private-current-selector-or-root() {
61
- @include token-utils.create-token-values(
62
- tokens-mtx-select.$prefix,
63
- tokens-mtx-select.get-density-tokens($theme)
64
- );
58
+ @include token-utils.create-token-values-mixed(m2-select.get-density-tokens($theme));
65
59
  }
66
60
  }
67
61
  }
@@ -70,20 +64,23 @@
70
64
  @function _define-overrides() {
71
65
  @return (
72
66
  (
73
- namespace: tokens-mtx-select.$prefix,
74
- tokens: tokens-mtx-select.get-token-slots(),
67
+ namespace: select,
68
+ tokens: token-utils.get-overrides(m3-select.get-tokens(), select),
75
69
  ),
76
70
  );
77
71
  }
78
72
 
79
73
  @mixin overrides($tokens: ()) {
80
- @include token-utils.batch-create-token-values($tokens, _define-overrides()...);
74
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
81
75
  }
82
76
 
83
- @mixin theme($theme, $options...) {
77
+ @mixin theme($theme, $color-variant: null) {
84
78
  @include mat.private-check-duplicate-theme-styles($theme, 'mtx-select') {
85
79
  @if mat.get-theme-version($theme) == 1 {
86
- @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
80
+ @include base($theme);
81
+ @include color($theme, $color-variant);
82
+ @include density($theme);
83
+ @include typography($theme);
87
84
  }
88
85
  @else {
89
86
  @include base($theme);
@@ -99,10 +96,3 @@
99
96
  }
100
97
  }
101
98
  }
102
-
103
- @mixin _theme-from-tokens($tokens, $options...) {
104
- @include validation.selector-defined(
105
- 'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector');
106
- $mtx-select-tokens: token-utils.get-tokens-for($tokens, tokens-mtx-select.$prefix, $options...);
107
- @include token-utils.create-token-values(tokens-mtx-select.$prefix, $mtx-select-tokens);
108
- }
package/select/index.d.ts CHANGED
@@ -1,5 +1,383 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnChanges, AfterViewChecked, OnDestroy, ElementRef, SimpleChanges, InjectionToken, OnInit, DoCheck, AfterViewInit, ChangeDetectorRef, TemplateRef, QueryList, EventEmitter } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import * as i2 from '@angular/forms';
5
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
6
+ import * as i3 from '@ng-select/ng-select';
7
+ import { NgSelectComponent } from '@ng-select/ng-select';
8
+ import { FocusMonitor } from '@angular/cdk/a11y';
9
+ import { ErrorStateMatcher } from '@angular/material/core';
10
+ import { MatFormFieldControl, MatFormField } from '@angular/material/form-field';
11
+ import { Subject } from 'rxjs';
12
+
13
+ declare class MtxOption implements OnChanges, AfterViewChecked, OnDestroy {
14
+ elementRef: ElementRef<HTMLElement>;
15
+ value: any;
16
+ disabled: boolean;
17
+ get label(): string;
18
+ private _previousLabel?;
19
+ readonly stateChange$: Subject<{
20
+ value: any;
21
+ disabled: boolean;
22
+ label?: string;
23
+ }>;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ ngAfterViewChecked(): void;
26
+ ngOnDestroy(): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxOption, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxOption, "mtx-option", ["mtxOption"], { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
29
+ static ngAcceptInputType_disabled: unknown;
30
+ }
31
+
32
+ declare class MtxSelectIntl {
33
+ private _defaultOptions;
34
+ /**
35
+ * Stream to emit from when labels are changed. Use this to notify components when the labels have
36
+ * changed after initialization.
37
+ */
38
+ readonly changes: Subject<void>;
39
+ placeholder: string | undefined;
40
+ notFoundText: string;
41
+ typeToSearchText: string;
42
+ addTagText: string;
43
+ loadingText: string;
44
+ clearAllText: string;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectIntl, never>;
46
+ static ɵprov: i0.ɵɵInjectableDeclaration<MtxSelectIntl>;
47
+ }
48
+
49
+ type DropdownPosition = 'bottom' | 'top' | 'auto';
50
+ type AddTagFn = (term: string) => any;
51
+ type CompareWithFn = (a: any, b: any) => boolean;
52
+ type GroupValueFn = (key: string | Record<string, any>, children: any[]) => string | Record<string, any>;
53
+ type SearchFn = (term: string, item: any) => boolean;
54
+ type TrackByFn = (item: any) => any;
1
55
  /**
2
- * Generated bundle index. Do not edit.
56
+ * Represents the default options for the select that can be configured
57
+ * using the `MTX_SELECT_DEFAULT_OPTIONS` injection token.
3
58
  */
4
- /// <amd-module name="@ng-matero/extensions/select" />
5
- export * from './public-api';
59
+ interface MtxSelectDefaultOptions {
60
+ placeholder?: string;
61
+ notFoundText?: string;
62
+ typeToSearchText?: string;
63
+ addTagText?: string;
64
+ loadingText?: string;
65
+ clearAllText?: string;
66
+ appendTo?: string;
67
+ bindValue?: string;
68
+ bindLabel?: string;
69
+ openOnEnter?: boolean;
70
+ clearSearchOnAdd?: boolean;
71
+ virtualScroll?: boolean;
72
+ fixedPlaceholder?: boolean;
73
+ deselectOnClick?: boolean;
74
+ }
75
+ /** Injection token that can be used to specify default select options. */
76
+ declare const MTX_SELECT_DEFAULT_OPTIONS: InjectionToken<MtxSelectDefaultOptions>;
77
+ declare class MtxSelect implements OnInit, OnDestroy, DoCheck, AfterViewInit, ControlValueAccessor, MatFormFieldControl<any> {
78
+ protected _intl: MtxSelectIntl;
79
+ protected _changeDetectorRef: ChangeDetectorRef;
80
+ protected _elementRef: ElementRef<any>;
81
+ protected _focusMonitor: FocusMonitor;
82
+ ngControl: NgControl | null;
83
+ protected _parentFormField?: MatFormField | null | undefined;
84
+ protected _defaultOptions?: MtxSelectDefaultOptions | null | undefined;
85
+ private _document;
86
+ ngSelect: NgSelectComponent;
87
+ optionTemplate: TemplateRef<any>;
88
+ optgroupTemplate: TemplateRef<any>;
89
+ labelTemplate: TemplateRef<any>;
90
+ multiLabelTemplate: TemplateRef<any>;
91
+ headerTemplate: TemplateRef<any>;
92
+ footerTemplate: TemplateRef<any>;
93
+ notFoundTemplate: TemplateRef<any>;
94
+ typeToSearchTemplate: TemplateRef<any>;
95
+ loadingTextTemplate: TemplateRef<any>;
96
+ tagTemplate: TemplateRef<any>;
97
+ loadingSpinnerTemplate: TemplateRef<any>;
98
+ placeholderTemplate: TemplateRef<any>;
99
+ clearbuttonTemplate: TemplateRef<any>;
100
+ mtxOptions: QueryList<MtxOption>;
101
+ addTag: boolean | AddTagFn;
102
+ addTagText?: string;
103
+ appearance: string;
104
+ appendTo: string;
105
+ bindLabel: string | undefined;
106
+ bindValue: string | undefined;
107
+ closeOnSelect: boolean;
108
+ clearAllText?: string;
109
+ clearable: boolean;
110
+ clearOnBackspace: boolean;
111
+ compareWith: CompareWithFn;
112
+ dropdownPosition: DropdownPosition;
113
+ groupBy: string | ((value: any) => any);
114
+ groupValue: GroupValueFn;
115
+ bufferAmount: number;
116
+ selectableGroup: boolean;
117
+ selectableGroupAsModel: boolean;
118
+ hideSelected: boolean;
119
+ loading: boolean;
120
+ loadingText?: string;
121
+ labelForId: string | null;
122
+ markFirst: boolean;
123
+ maxSelectedItems: number;
124
+ multiple: boolean;
125
+ notFoundText?: string;
126
+ searchable: boolean;
127
+ readonly: boolean;
128
+ searchFn: SearchFn | null;
129
+ searchWhileComposing: boolean;
130
+ selectOnTab: boolean;
131
+ trackByFn: TrackByFn | null;
132
+ inputAttrs: {
133
+ [key: string]: string;
134
+ };
135
+ tabIndex: number;
136
+ openOnEnter: boolean;
137
+ minTermLength: number;
138
+ editableSearchTerm: boolean;
139
+ keyDownFn: (_: KeyboardEvent) => boolean;
140
+ virtualScroll: boolean;
141
+ typeToSearchText?: string;
142
+ typeahead: Subject<string>;
143
+ isOpen?: boolean;
144
+ fixedPlaceholder: boolean;
145
+ deselectOnClick: boolean;
146
+ blurEvent: EventEmitter<any>;
147
+ focusEvent: EventEmitter<any>;
148
+ changeEvent: EventEmitter<any>;
149
+ openEvent: EventEmitter<any>;
150
+ closeEvent: EventEmitter<any>;
151
+ searchEvent: EventEmitter<{
152
+ term: string;
153
+ items: any[];
154
+ }>;
155
+ clearEvent: EventEmitter<any>;
156
+ addEvent: EventEmitter<any>;
157
+ removeEvent: EventEmitter<any>;
158
+ scroll: EventEmitter<{
159
+ start: number;
160
+ end: number;
161
+ }>;
162
+ scrollToEnd: EventEmitter<any>;
163
+ get clearSearchOnAdd(): boolean;
164
+ set clearSearchOnAdd(value: boolean);
165
+ private _clearSearchOnAdd;
166
+ get items(): any[];
167
+ set items(value: any[]);
168
+ private _items;
169
+ private _itemsAreUsed;
170
+ /** Emits whenever the component is destroyed. */
171
+ private readonly _destroy$;
172
+ /** Value of the select control. */
173
+ get value(): any;
174
+ set value(newValue: any);
175
+ private _value;
176
+ /** Implemented as part of MatFormFieldControl. */
177
+ readonly stateChanges: Subject<void>;
178
+ /** Unique id of the element. */
179
+ get id(): string;
180
+ set id(value: string);
181
+ private _id;
182
+ /** Unique id for this select. */
183
+ private _uid;
184
+ /** Placeholder to be shown if value is empty. */
185
+ get placeholder(): string;
186
+ set placeholder(value: string);
187
+ private _placeholder;
188
+ /** Whether the select is focused. */
189
+ get focused(): boolean;
190
+ private _focused;
191
+ /** Whether the select has a value. */
192
+ get empty(): boolean;
193
+ /**
194
+ * Implemented as part of MatFormFieldControl.
195
+ * @docs-private
196
+ */
197
+ get shouldLabelFloat(): boolean;
198
+ /** Whether the select is disabled. */
199
+ disabled: boolean;
200
+ /** Whether the component is required. */
201
+ get required(): boolean;
202
+ set required(value: boolean);
203
+ private _required;
204
+ /** Object used to control when error messages are shown. */
205
+ get errorStateMatcher(): ErrorStateMatcher;
206
+ set errorStateMatcher(value: ErrorStateMatcher);
207
+ /** Aria label of the select. */
208
+ ariaLabel: string;
209
+ /** Input that can be used to specify the `aria-labelledby` attribute. */
210
+ ariaLabelledby: string | null;
211
+ /** The aria-describedby attribute on the select for improved a11y. */
212
+ _ariaDescribedby: string | null;
213
+ /** A name for this control that can be used by `mat-form-field`. */
214
+ controlType: string;
215
+ /** `View -> model callback called when value changes` */
216
+ _onChange: (value: any) => void;
217
+ /** `View -> model callback called when select has been touched` */
218
+ _onTouched: () => void;
219
+ /** ID for the DOM node containing the select's value. */
220
+ _valueId: string;
221
+ /** Whether or not the overlay panel is open. */
222
+ get panelOpen(): boolean;
223
+ /**
224
+ * Keeps track of the previous form control assigned to the select.
225
+ * Used to detect if it has changed.
226
+ */
227
+ private _previousControl;
228
+ /** Tracks the error state of the select. */
229
+ private _errorStateTracker;
230
+ /** Whether the select is in an error state. */
231
+ get errorState(): boolean;
232
+ set errorState(value: boolean);
233
+ private _intlChangesSubscription;
234
+ constructor();
235
+ ngOnInit(): void;
236
+ ngAfterViewInit(): void;
237
+ ngDoCheck(): void;
238
+ ngOnDestroy(): void;
239
+ /** Gets the value for the `aria-labelledby` attribute of the inputs. */
240
+ _getAriaLabelledby(): string | null;
241
+ /** Implemented as part of MatFormFieldControl. */
242
+ setDescribedByIds(ids: string[]): void;
243
+ /**
244
+ * Disables the select. Part of the ControlValueAccessor interface required
245
+ * to integrate with Angular's core forms API.
246
+ *
247
+ * @param isDisabled Sets whether the component is disabled.
248
+ */
249
+ setDisabledState(isDisabled: boolean): void;
250
+ /** Implemented as part of MatFormFieldControl. */
251
+ onContainerClick(event: MouseEvent): void;
252
+ /**
253
+ * Sets the select's value. Part of the ControlValueAccessor interface
254
+ * required to integrate with Angular's core forms API.
255
+ *
256
+ * @param value New value to be written to the model.
257
+ */
258
+ writeValue(value: any): void;
259
+ /**
260
+ * Saves a callback function to be invoked when the select's value
261
+ * changes from user input. Part of the ControlValueAccessor interface
262
+ * required to integrate with Angular's core forms API.
263
+ *
264
+ * @param fn Callback to be triggered when the value changes.
265
+ */
266
+ registerOnChange(fn: any): void;
267
+ /**
268
+ * Saves a callback function to be invoked when the select is blurred
269
+ * by the user. Part of the ControlValueAccessor interface required
270
+ * to integrate with Angular's core forms API.
271
+ *
272
+ * @param fn Callback to be triggered when the component has been touched.
273
+ */
274
+ registerOnTouched(fn: any): void;
275
+ /** Refreshes the error state of the select. */
276
+ updateErrorState(): void;
277
+ /** Assigns a specific value to the select. Returns whether the value has changed. */
278
+ private _assignValue;
279
+ /** NgSelect's `_setItemsFromNgOptions` */
280
+ private _setItemsFromMtxOptions;
281
+ open(): void;
282
+ close(): void;
283
+ focus(): void;
284
+ blur(): void;
285
+ openChange(): void;
286
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelect, never>;
287
+ static ɵcmp: i0.ɵɵComponentDeclaration<MtxSelect, "mtx-select", ["mtxSelect"], { "addTag": { "alias": "addTag"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "groupValue": { "alias": "groupValue"; "required": false; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "labelForId": { "alias": "labelForId"; "required": false; }; "markFirst": { "alias": "markFirst"; "required": false; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "searchWhileComposing": { "alias": "searchWhileComposing"; "required": false; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "openOnEnter": { "alias": "openOnEnter"; "required": false; }; "minTermLength": { "alias": "minTermLength"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "keyDownFn": { "alias": "keyDownFn"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "typeToSearchText": { "alias": "typeToSearchText"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "fixedPlaceholder": { "alias": "fixedPlaceholder"; "required": false; }; "deselectOnClick": { "alias": "deselectOnClick"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "items": { "alias": "items"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; }, { "blurEvent": "blur"; "focusEvent": "focus"; "changeEvent": "change"; "openEvent": "open"; "closeEvent": "close"; "searchEvent": "search"; "clearEvent": "clear"; "addEvent": "add"; "removeEvent": "remove"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; }, ["optionTemplate", "optgroupTemplate", "labelTemplate", "multiLabelTemplate", "headerTemplate", "footerTemplate", "notFoundTemplate", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingSpinnerTemplate", "placeholderTemplate", "clearbuttonTemplate", "mtxOptions"], never, true, never>;
288
+ static ngAcceptInputType_closeOnSelect: unknown;
289
+ static ngAcceptInputType_clearable: unknown;
290
+ static ngAcceptInputType_clearOnBackspace: unknown;
291
+ static ngAcceptInputType_selectableGroup: unknown;
292
+ static ngAcceptInputType_selectableGroupAsModel: unknown;
293
+ static ngAcceptInputType_hideSelected: unknown;
294
+ static ngAcceptInputType_loading: unknown;
295
+ static ngAcceptInputType_markFirst: unknown;
296
+ static ngAcceptInputType_multiple: unknown;
297
+ static ngAcceptInputType_searchable: unknown;
298
+ static ngAcceptInputType_readonly: unknown;
299
+ static ngAcceptInputType_searchWhileComposing: unknown;
300
+ static ngAcceptInputType_selectOnTab: unknown;
301
+ static ngAcceptInputType_openOnEnter: unknown;
302
+ static ngAcceptInputType_editableSearchTerm: unknown;
303
+ static ngAcceptInputType_virtualScroll: unknown;
304
+ static ngAcceptInputType_fixedPlaceholder: unknown;
305
+ static ngAcceptInputType_deselectOnClick: unknown;
306
+ static ngAcceptInputType_disabled: unknown;
307
+ static ngAcceptInputType_required: unknown;
308
+ }
309
+
310
+ declare class MtxSelectOptionTemplate {
311
+ template: TemplateRef<any>;
312
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectOptionTemplate, never>;
313
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectOptionTemplate, "[ng-option-tmp]", never, {}, {}, never, never, true, never>;
314
+ }
315
+ declare class MtxSelectOptgroupTemplate {
316
+ template: TemplateRef<any>;
317
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectOptgroupTemplate, never>;
318
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectOptgroupTemplate, "[ng-optgroup-tmp]", never, {}, {}, never, never, true, never>;
319
+ }
320
+ declare class MtxSelectLabelTemplate {
321
+ template: TemplateRef<any>;
322
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectLabelTemplate, never>;
323
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectLabelTemplate, "[ng-label-tmp]", never, {}, {}, never, never, true, never>;
324
+ }
325
+ declare class MtxSelectMultiLabelTemplate {
326
+ template: TemplateRef<any>;
327
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectMultiLabelTemplate, never>;
328
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectMultiLabelTemplate, "[ng-multi-label-tmp]", never, {}, {}, never, never, true, never>;
329
+ }
330
+ declare class MtxSelectHeaderTemplate {
331
+ template: TemplateRef<any>;
332
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectHeaderTemplate, never>;
333
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectHeaderTemplate, "[ng-header-tmp]", never, {}, {}, never, never, true, never>;
334
+ }
335
+ declare class MtxSelectFooterTemplate {
336
+ template: TemplateRef<any>;
337
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectFooterTemplate, never>;
338
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectFooterTemplate, "[ng-footer-tmp]", never, {}, {}, never, never, true, never>;
339
+ }
340
+ declare class MtxSelectNotFoundTemplate {
341
+ template: TemplateRef<any>;
342
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectNotFoundTemplate, never>;
343
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectNotFoundTemplate, "[ng-notfound-tmp]", never, {}, {}, never, never, true, never>;
344
+ }
345
+ declare class MtxSelectTypeToSearchTemplate {
346
+ template: TemplateRef<any>;
347
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectTypeToSearchTemplate, never>;
348
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectTypeToSearchTemplate, "[ng-typetosearch-tmp]", never, {}, {}, never, never, true, never>;
349
+ }
350
+ declare class MtxSelectLoadingTextTemplate {
351
+ template: TemplateRef<any>;
352
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectLoadingTextTemplate, never>;
353
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectLoadingTextTemplate, "[ng-loadingtext-tmp]", never, {}, {}, never, never, true, never>;
354
+ }
355
+ declare class MtxSelectTagTemplate {
356
+ template: TemplateRef<any>;
357
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectTagTemplate, never>;
358
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectTagTemplate, "[ng-tag-tmp]", never, {}, {}, never, never, true, never>;
359
+ }
360
+ declare class MtxSelectLoadingSpinnerTemplate {
361
+ template: TemplateRef<any>;
362
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectLoadingSpinnerTemplate, never>;
363
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectLoadingSpinnerTemplate, "[ng-loadingspinner-tmp]", never, {}, {}, never, never, true, never>;
364
+ }
365
+ declare class MtxSelectPlaceholderTemplate {
366
+ template: TemplateRef<any>;
367
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectPlaceholderTemplate, never>;
368
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectPlaceholderTemplate, "[ng-placeholder-tmp]", never, {}, {}, never, never, true, never>;
369
+ }
370
+ declare class MtxSelectClearbuttonTemplate {
371
+ template: TemplateRef<any>;
372
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectClearbuttonTemplate, never>;
373
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MtxSelectClearbuttonTemplate, "[ng-clearbutton-tmp]", never, {}, {}, never, never, true, never>;
374
+ }
375
+
376
+ declare class MtxSelectModule {
377
+ static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelectModule, never>;
378
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MtxSelectModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.NgSelectModule, typeof MtxSelect, typeof MtxOption, typeof MtxSelectOptgroupTemplate, typeof MtxSelectOptionTemplate, typeof MtxSelectLabelTemplate, typeof MtxSelectMultiLabelTemplate, typeof MtxSelectHeaderTemplate, typeof MtxSelectFooterTemplate, typeof MtxSelectNotFoundTemplate, typeof MtxSelectTypeToSearchTemplate, typeof MtxSelectLoadingTextTemplate, typeof MtxSelectTagTemplate, typeof MtxSelectLoadingSpinnerTemplate, typeof MtxSelectPlaceholderTemplate, typeof MtxSelectClearbuttonTemplate], [typeof MtxSelect, typeof MtxOption, typeof MtxSelectOptgroupTemplate, typeof MtxSelectOptionTemplate, typeof MtxSelectLabelTemplate, typeof MtxSelectMultiLabelTemplate, typeof MtxSelectHeaderTemplate, typeof MtxSelectFooterTemplate, typeof MtxSelectNotFoundTemplate, typeof MtxSelectTypeToSearchTemplate, typeof MtxSelectLoadingTextTemplate, typeof MtxSelectTagTemplate, typeof MtxSelectLoadingSpinnerTemplate, typeof MtxSelectPlaceholderTemplate, typeof MtxSelectClearbuttonTemplate]>;
379
+ static ɵinj: i0.ɵɵInjectorDeclaration<MtxSelectModule>;
380
+ }
381
+
382
+ export { MTX_SELECT_DEFAULT_OPTIONS, MtxOption, MtxSelect, MtxSelectClearbuttonTemplate, MtxSelectFooterTemplate, MtxSelectHeaderTemplate, MtxSelectIntl, MtxSelectLabelTemplate, MtxSelectLoadingSpinnerTemplate, MtxSelectLoadingTextTemplate, MtxSelectModule, MtxSelectMultiLabelTemplate, MtxSelectNotFoundTemplate, MtxSelectOptgroupTemplate, MtxSelectOptionTemplate, MtxSelectPlaceholderTemplate, MtxSelectTagTemplate, MtxSelectTypeToSearchTemplate };
383
+ export type { AddTagFn, CompareWithFn, DropdownPosition, GroupValueFn, MtxSelectDefaultOptions, SearchFn, TrackByFn };