@ojiepermana/angular 22.1.13 → 22.2.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 (252) hide show
  1. package/README.md +8 -6
  2. package/SUPPORT.md +3 -3
  3. package/chart/README.md +1 -1
  4. package/component/README.md +2 -2
  5. package/component/calendar/README.md +3 -15
  6. package/component/drawer/README.md +1 -2
  7. package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
  8. package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
  9. package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
  10. package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
  11. package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
  12. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
  13. package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
  14. package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
  15. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
  16. package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
  17. package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
  18. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
  19. package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
  20. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
  21. package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
  22. package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
  23. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
  24. package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
  25. package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
  26. package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
  27. package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
  28. package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
  29. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
  30. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
  31. package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
  32. package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
  33. package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
  34. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
  35. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
  36. package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
  37. package/fesm2022/ojiepermana-angular-component-drawer.mjs +2 -5
  38. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
  39. package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
  40. package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
  41. package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
  42. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
  43. package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
  44. package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
  45. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
  46. package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
  47. package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
  48. package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
  49. package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
  50. package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
  51. package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
  52. package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
  53. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
  54. package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
  55. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
  56. package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
  57. package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
  58. package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
  59. package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
  60. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
  61. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
  62. package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
  63. package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
  64. package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
  65. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
  66. package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
  67. package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
  68. package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
  69. package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
  70. package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
  71. package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
  72. package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
  73. package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
  74. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
  75. package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
  76. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
  77. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
  78. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
  79. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
  80. package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
  81. package/fesm2022/ojiepermana-angular-component.mjs +0 -10
  82. package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
  83. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
  84. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs +129 -0
  85. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs +811 -0
  86. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs} +387 -183
  87. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs +650 -0
  88. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs +662 -0
  89. package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs +1228 -0
  90. package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs +311 -0
  91. package/fesm2022/ojiepermana-angular-navigation-service.mjs +542 -724
  92. package/fesm2022/ojiepermana-angular-navigation-types.mjs +27 -56
  93. package/fesm2022/ojiepermana-angular-navigation.mjs +3052 -4
  94. package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
  95. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1115 -737
  96. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
  97. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
  98. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1719 -552
  99. package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -491
  100. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
  101. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
  102. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
  103. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
  104. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
  105. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
  106. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
  107. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
  108. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
  109. package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
  110. package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
  111. package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
  112. package/fesm2022/ojiepermana-angular.mjs +5 -24
  113. package/navigation/README.md +1 -1
  114. package/package.json +16 -12
  115. package/sdk/README.md +1 -1
  116. package/sdk/src/writer/index.js +2 -2
  117. package/theme/README.md +1 -1
  118. package/theme/layout/README.md +2 -4
  119. package/theme/page/README.md +50 -0
  120. package/theme/styles/README.md +10 -10
  121. package/theme/styles/css/base/prefers-dark.css +1 -1
  122. package/theme/styles/css/base/status.css +1 -1
  123. package/theme/styles/css/color/amber.css +1 -1
  124. package/theme/styles/css/color/blue.css +1 -1
  125. package/theme/styles/css/color/cyan.css +1 -1
  126. package/theme/styles/css/color/emerald.css +1 -1
  127. package/theme/styles/css/color/fuchsia.css +1 -1
  128. package/theme/styles/css/color/green.css +1 -1
  129. package/theme/styles/css/color/indigo.css +1 -1
  130. package/theme/styles/css/color/lime.css +1 -1
  131. package/theme/styles/css/color/orange.css +1 -1
  132. package/theme/styles/css/color/pink.css +1 -1
  133. package/theme/styles/css/color/purple.css +1 -1
  134. package/theme/styles/css/color/red.css +1 -1
  135. package/theme/styles/css/color/rose.css +1 -1
  136. package/theme/styles/css/color/sky.css +1 -1
  137. package/theme/styles/css/color/teal.css +1 -1
  138. package/theme/styles/css/color/violet.css +1 -1
  139. package/theme/styles/css/color/yellow.css +1 -1
  140. package/theme/styles/css/neutral/gray.css +1 -1
  141. package/theme/styles/css/neutral/mauve.css +1 -1
  142. package/theme/styles/css/neutral/mist.css +1 -1
  143. package/theme/styles/css/neutral/neutral.css +1 -1
  144. package/theme/styles/css/neutral/olive.css +1 -1
  145. package/theme/styles/css/neutral/slate.css +1 -1
  146. package/theme/styles/css/neutral/stone.css +1 -1
  147. package/theme/styles/css/neutral/taupe.css +1 -1
  148. package/theme/styles/css/neutral/zinc.css +1 -1
  149. package/types/ojiepermana-angular-chart-area.d.ts +126 -63
  150. package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
  151. package/types/ojiepermana-angular-chart-core.d.ts +409 -398
  152. package/types/ojiepermana-angular-chart-line.d.ts +141 -68
  153. package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
  154. package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
  155. package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
  156. package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
  157. package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
  158. package/types/ojiepermana-angular-chart.d.ts +3 -2
  159. package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
  160. package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
  161. package/types/ojiepermana-angular-component-alert.d.ts +69 -39
  162. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
  163. package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
  164. package/types/ojiepermana-angular-component-badge.d.ts +36 -24
  165. package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
  166. package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
  167. package/types/ojiepermana-angular-component-button.d.ts +44 -27
  168. package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
  169. package/types/ojiepermana-angular-component-card.d.ts +112 -63
  170. package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
  171. package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
  172. package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
  173. package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
  174. package/types/ojiepermana-angular-component-command.d.ts +206 -121
  175. package/types/ojiepermana-angular-component-composer.d.ts +184 -84
  176. package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
  177. package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
  178. package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
  179. package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
  180. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
  181. package/types/ojiepermana-angular-component-editor.d.ts +215 -117
  182. package/types/ojiepermana-angular-component-empty.d.ts +80 -45
  183. package/types/ojiepermana-angular-component-form.d.ts +185 -121
  184. package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
  185. package/types/ojiepermana-angular-component-icon.d.ts +87 -57
  186. package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
  187. package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
  188. package/types/ojiepermana-angular-component-input.d.ts +27 -17
  189. package/types/ojiepermana-angular-component-item.d.ts +160 -84
  190. package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
  191. package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
  192. package/types/ojiepermana-angular-component-label.d.ts +19 -11
  193. package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
  194. package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
  195. package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
  196. package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
  197. package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
  198. package/types/ojiepermana-angular-component-popover.d.ts +94 -64
  199. package/types/ojiepermana-angular-component-progress.d.ts +45 -17
  200. package/types/ojiepermana-angular-component-radio.d.ts +129 -53
  201. package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
  202. package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
  203. package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
  204. package/types/ojiepermana-angular-component-select.d.ts +94 -77
  205. package/types/ojiepermana-angular-component-separator.d.ts +26 -14
  206. package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
  207. package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
  208. package/types/ojiepermana-angular-component-slider.d.ts +140 -75
  209. package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
  210. package/types/ojiepermana-angular-component-switch.d.ts +97 -40
  211. package/types/ojiepermana-angular-component-table.d.ts +102 -50
  212. package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
  213. package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
  214. package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
  215. package/types/ojiepermana-angular-component-toast.d.ts +51 -55
  216. package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
  217. package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
  218. package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
  219. package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
  220. package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
  221. package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
  222. package/types/ojiepermana-angular-component-utils.d.ts +2 -2
  223. package/types/ojiepermana-angular-component.d.ts +1 -2
  224. package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
  225. package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
  226. package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
  227. package/types/ojiepermana-angular-navigation-types.d.ts +121 -125
  228. package/types/ojiepermana-angular-navigation.d.ts +663 -374
  229. package/types/ojiepermana-angular-sdk.d.ts +69 -71
  230. package/types/ojiepermana-angular-theme-component-settings.d.ts +115 -83
  231. package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
  232. package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
  233. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +399 -187
  234. package/types/ojiepermana-angular-theme-layout.d.ts +201 -112
  235. package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
  236. package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
  237. package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
  238. package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
  239. package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
  240. package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
  241. package/types/ojiepermana-angular-theme-page.d.ts +7 -5
  242. package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
  243. package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
  244. package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
  245. package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
  246. package/types/ojiepermana-angular-theme.d.ts +1 -2
  247. package/types/ojiepermana-angular.d.ts +5 -5
  248. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +0 -512
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +0 -2642
@@ -1,297 +1,281 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, input, booleanAttribute, signal, viewChild, effect, forwardRef, ViewEncapsulation, Component } from '@angular/core';
3
- import * as i1 from '@ojiepermana/angular/component/utils/scale';
4
- import { ComponentScaleDirective } from '@ojiepermana/angular/component/utils/scale';
5
- import * as i2 from '@angular/cdk/overlay';
6
- import { OverlayModule } from '@angular/cdk/overlay';
7
- import { MAT_OPTION_PARENT_COMPONENT, MatOption, MatPseudoCheckbox, MatRipple } from '@angular/material/core';
8
- import { MatSelect } from '@angular/material/select';
9
- import { takeUntil } from 'rxjs';
10
- import { FormFieldContext } from '@ojiepermana/angular/component/form';
11
-
12
- /**
13
- * Compatibility boundary for the protected Material APIs required by the
14
- * copied MatSelect template. Keep version-sensitive access in this file so a
15
- * Material upgrade has one auditable failure surface.
16
- */
17
- class SelectMaterialBridge extends MatSelect {
18
- get materialValueId() {
19
- return this._valueId;
20
- }
21
- get materialOverlayPanelClass() {
22
- return this._overlayPanelClass;
23
- }
24
- get materialScrollStrategy() {
25
- return this._scrollStrategy;
26
- }
27
- get materialPreferredOverlayOrigin() {
28
- return this._preferredOverlayOrigin;
29
- }
30
- get materialPositions() {
31
- return this._positions;
32
- }
33
- get materialOverlayWidth() {
34
- return this._overlayWidth;
35
- }
36
- get materialPopoverLocation() {
37
- return this._popoverLocation;
38
- }
39
- get materialAnimationsDisabled() {
40
- return this._animationsDisabled;
41
- }
42
- get materialParentFormFieldColor() {
43
- return this._parentFormField?.color;
44
- }
45
- get materialDestroyed() {
46
- return this._destroy;
47
- }
48
- configureMaterialPositions(positions) {
49
- this._positions = positions;
50
- }
51
- materialHandleOverlayKeydown(event) {
52
- this._handleOverlayKeydown(event);
53
- }
54
- materialPanelAriaLabelledby() {
55
- return this._getPanelAriaLabelledby();
56
- }
57
- materialHandleKeydown(event) {
58
- this._handleKeydown(event);
59
- }
60
- materialConfigureSkipPredicate(predicate) {
61
- this._keyManager.skipPredicate(predicate);
62
- }
63
- materialSetActiveItem(option) {
64
- this._keyManager.setActiveItem(option);
65
- }
66
- }
67
- /** Material does not currently expose an option host accessor publicly. */
1
+ import * as i0 from "@angular/core";
2
+ import { Component, ViewEncapsulation, booleanAttribute, effect, forwardRef, inject, input, signal, viewChild } from "@angular/core";
3
+ import * as i1 from "@ojiepermana/angular/component/utils/scale";
4
+ import { ComponentScaleDirective } from "@ojiepermana/angular/component/utils/scale";
5
+ import * as i2 from "@angular/cdk/overlay";
6
+ import { OverlayModule } from "@angular/cdk/overlay";
7
+ import { MAT_OPTION_PARENT_COMPONENT, MatOption, MatPseudoCheckbox, MatRipple } from "@angular/material/core";
8
+ import { MatSelect } from "@angular/material/select";
9
+ import { takeUntil } from "rxjs";
10
+ import { FormFieldContext } from "@ojiepermana/angular/component/form";
11
+ var SelectMaterialBridge = class extends MatSelect {
12
+ get materialValueId() {
13
+ return this._valueId;
14
+ }
15
+ get materialOverlayPanelClass() {
16
+ return this._overlayPanelClass;
17
+ }
18
+ get materialScrollStrategy() {
19
+ return this._scrollStrategy;
20
+ }
21
+ get materialPreferredOverlayOrigin() {
22
+ return this._preferredOverlayOrigin;
23
+ }
24
+ get materialPositions() {
25
+ return this._positions;
26
+ }
27
+ get materialOverlayWidth() {
28
+ return this._overlayWidth;
29
+ }
30
+ get materialPopoverLocation() {
31
+ return this._popoverLocation;
32
+ }
33
+ get materialAnimationsDisabled() {
34
+ return this._animationsDisabled;
35
+ }
36
+ get materialParentFormFieldColor() {
37
+ return this._parentFormField?.color;
38
+ }
39
+ get materialDestroyed() {
40
+ return this._destroy;
41
+ }
42
+ configureMaterialPositions(positions) {
43
+ this._positions = positions;
44
+ }
45
+ materialHandleOverlayKeydown(event) {
46
+ this._handleOverlayKeydown(event);
47
+ }
48
+ materialPanelAriaLabelledby() {
49
+ return this._getPanelAriaLabelledby();
50
+ }
51
+ materialHandleKeydown(event) {
52
+ this._handleKeydown(event);
53
+ }
54
+ materialConfigureSkipPredicate(predicate) {
55
+ this._keyManager.skipPredicate(predicate);
56
+ }
57
+ materialSetActiveItem(option) {
58
+ this._keyManager.setActiveItem(option);
59
+ }
60
+ };
68
61
  function materialOptionHost(option) {
69
- return option._getHostElement();
62
+ return option._getHostElement();
70
63
  }
71
-
72
- /**
73
- * Keep the panel on top of the trigger, then let it grow toward the side of
74
- * the viewport that has room. Logical `start`/`end` values preserve RTL.
75
- */
76
64
  const ITEM_ALIGNED_POSITIONS = [
77
- {
78
- originX: 'start',
79
- originY: 'top',
80
- overlayX: 'start',
81
- overlayY: 'top',
82
- },
83
- {
84
- originX: 'end',
85
- originY: 'top',
86
- overlayX: 'end',
87
- overlayY: 'top',
88
- },
89
- {
90
- originX: 'start',
91
- originY: 'bottom',
92
- overlayX: 'start',
93
- overlayY: 'bottom',
94
- panelClass: 'mat-mdc-select-panel-above',
95
- },
96
- {
97
- originX: 'end',
98
- originY: 'bottom',
99
- overlayX: 'end',
100
- overlayY: 'bottom',
101
- panelClass: 'mat-mdc-select-panel-above',
102
- },
65
+ {
66
+ originX: "start",
67
+ originY: "top",
68
+ overlayX: "start",
69
+ overlayY: "top"
70
+ },
71
+ {
72
+ originX: "end",
73
+ originY: "top",
74
+ overlayX: "end",
75
+ overlayY: "top"
76
+ },
77
+ {
78
+ originX: "start",
79
+ originY: "bottom",
80
+ overlayX: "start",
81
+ overlayY: "bottom",
82
+ panelClass: "mat-mdc-select-panel-above"
83
+ },
84
+ {
85
+ originX: "end",
86
+ originY: "bottom",
87
+ overlayX: "end",
88
+ overlayY: "bottom",
89
+ panelClass: "mat-mdc-select-panel-above"
90
+ }
103
91
  ];
104
- /**
105
- * Custom shadcn-styled select.
106
- *
107
- * IMPORTANT: this MUST extend `MatSelect` (with a copied template) rather than
108
- * wrap `<mat-select>` in its own view. `mat-select` projects its options through
109
- * an `<ng-content>` that lives inside the deferred `cdk-connected-overlay`
110
- * `<ng-template>`. A wrapper that re-projects options into mat-select via its own
111
- * `<ng-content>` creates a *double* projection into that deferred slot, and the
112
- * projected options are never instantiated — `@ContentChildren(MatOption)` finds
113
- * zero, the trigger shows the placeholder instead of the bound value, and
114
- * `_canOpen()` refuses to open the panel. By BEING the mat-select, options are
115
- * direct (single-projection) content and register normally.
116
- *
117
- * The full MatSelect public API (`value`, `multiple`, `required`, `disabled`,
118
- * `placeholder`, `aria-*`, `open()/close()/focus()`, `selectionChange`,
119
- * `openedChange`, `valueChange`, and `ControlValueAccessor` for `ngModel`/reactive
120
- * forms) is inherited. Only the selector, template, styles, providers, and the
121
- * optional `<FormField>` bridge are declared here.
122
- */
123
- class SelectComponent extends SelectMaterialBridge {
124
- componentScale = inject(ComponentScaleDirective);
125
- radius = this.componentScale.radius;
126
- density = this.componentScale.density;
127
- /** Optional bridge to an enclosing edsis `<FormField>` (validation + a11y). */
128
- formFieldContext = inject(FormFieldContext, { optional: true });
129
- /** Per-component corner-radius override; `'inherit'` follows the global axis. */
130
- /** Per-component spacing-density override; `'inherit'` follows the global axis. */
131
- /** Adds an opt-in search field to the overlay. */
132
- search = input(false, { ...(ngDevMode ? { debugName: "search" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
133
- /** Accessible label and visible placeholder for the optional search field. */
134
- searchPlaceholder = input('Search options', /* @ts-ignore */
135
- ...(ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []));
136
- /** Message shown when the current search has no matching options. */
137
- searchEmptyText = input('No options found.', /* @ts-ignore */
138
- ...(ngDevMode ? [{ debugName: "searchEmptyText" }] : /* istanbul ignore next */ []));
139
- searchQuery = signal('', /* @ts-ignore */
140
- ...(ngDevMode ? [{ debugName: "searchQuery" }] : /* istanbul ignore next */ []));
141
- visibleOptionCount = signal(0, /* @ts-ignore */
142
- ...(ngDevMode ? [{ debugName: "visibleOptionCount" }] : /* istanbul ignore next */ []));
143
- searchInput = viewChild('searchInput', /* @ts-ignore */
144
- ...(ngDevMode ? [{ debugName: "searchInput" }] : /* istanbul ignore next */ []));
145
- hiddenOptions = new Set();
146
- constructor() {
147
- super();
148
- this.configureMaterialPositions(ITEM_ALIGNED_POSITIONS);
149
- effect(() => {
150
- if (!this.search() && this.searchQuery()) {
151
- this.resetSearch();
152
- }
153
- });
154
- const ctx = this.formFieldContext;
155
- if (ctx) {
156
- // Mirror the FormField invalid state onto mat-select's errorState.
157
- this.errorStateMatcher = { isErrorState: () => ctx.invalid() };
158
- }
159
- }
160
- /**
161
- * `aria-describedby` for the combobox, written by this host binding and nothing
162
- * else. `MatSelect` publishes ids only through `setDescribedByIds()`, which is
163
- * the `MatFormField` protocol: outside one — and an edsis `<FormField>` is not
164
- * one — nothing ever calls it, and assigning `userAriaDescribedBy` by hand
165
- * reaches the DOM through no path at all. The binding clears the attribute as
166
- * well as sets it, so a resolved error never outlives itself.
167
- */
168
- resolvedDescribedBy() {
169
- return this.formFieldContext?.describedBy() ?? this.userAriaDescribedBy ?? null;
170
- }
171
- ngOnInit() {
172
- super.ngOnInit();
173
- // Register the bound control so <FormField> can derive invalid/aria state.
174
- this.publishControl();
175
- }
176
- ngAfterViewInit() {
177
- // `formControlName` only assigns `.control` in FormControlName.ngOnChanges.
178
- // Whether that lands before this ngOnInit depends on directive *creation*
179
- // order: MatSelect injects NgControl in a field initializer, which
180
- // instantiates FormControlName early, registers its hooks first, and happens
181
- // to make the init read work today. Anything that moves that injection later
182
- // parks `null` in the FormField forever, and the field can then never
183
- // surface the control's invalid state. Re-resolving here removes the
184
- // dependence on that ordering accident.
185
- this.publishControl();
186
- }
187
- ngAfterContentInit() {
188
- super.ngAfterContentInit();
189
- // Material deliberately allows disabled options to receive active styles
190
- // while the panel is open. Preserve that behavior and only add hidden
191
- // search results to the key manager's skip predicate.
192
- this.materialConfigureSkipPredicate((option) => this.hiddenOptions.has(option) || (!this.panelOpen && option.disabled));
193
- this.options.changes.pipe(takeUntil(this.materialDestroyed)).subscribe(() => {
194
- this.applySearch(this.searchQuery());
195
- });
196
- this.optionSelectionChanges.pipe(takeUntil(this.materialDestroyed)).subscribe((event) => {
197
- if (event.isUserInput && this.multiple && this.search() && this.panelOpen) {
198
- this.focusSearchInput();
199
- }
200
- });
201
- this.visibleOptionCount.set(this.options.length);
202
- }
203
- open() {
204
- const wasOpen = this.panelOpen;
205
- super.open();
206
- if (!wasOpen && this.panelOpen && this.search()) {
207
- this.resetSearch();
208
- this.focusSearchInput();
209
- }
210
- }
211
- close() {
212
- const wasOpen = this.panelOpen;
213
- super.close();
214
- if (wasOpen) {
215
- this.resetSearch();
216
- }
217
- }
218
- onSearchInput(event) {
219
- const query = event.target.value;
220
- this.searchQuery.set(query);
221
- this.applySearch(query);
222
- }
223
- onSearchKeydown(event) {
224
- switch (event.key) {
225
- case 'ArrowDown':
226
- case 'ArrowUp':
227
- case 'PageDown':
228
- case 'PageUp':
229
- case 'Enter':
230
- case 'Tab':
231
- this.materialHandleKeydown(event);
232
- event.stopPropagation();
233
- break;
234
- case 'Escape':
235
- event.preventDefault();
236
- event.stopPropagation();
237
- this.close();
238
- this.focus();
239
- break;
240
- }
241
- }
242
- /** Idempotent bridge: only writes when the resolved control actually changed. */
243
- publishControl() {
244
- const context = this.formFieldContext;
245
- if (!context) {
246
- return;
247
- }
248
- const control = this.ngControl?.control ?? null;
249
- if (control !== context.control()) {
250
- context.control.set(control);
251
- }
252
- }
253
- resetSearch() {
254
- this.searchQuery.set('');
255
- this.applySearch('');
256
- }
257
- focusSearchInput() {
258
- queueMicrotask(() => this.searchInput()?.nativeElement.focus());
259
- }
260
- applySearch(query) {
261
- if (!this.options) {
262
- return;
263
- }
264
- const normalizedQuery = query.trim().toLocaleLowerCase();
265
- const groupVisibility = new Map();
266
- this.hiddenOptions.clear();
267
- for (const option of this.options) {
268
- const visible = !normalizedQuery || option.viewValue.toLocaleLowerCase().includes(normalizedQuery);
269
- const optionElement = materialOptionHost(option);
270
- optionElement.hidden = !visible;
271
- if (!visible) {
272
- this.hiddenOptions.add(option);
273
- }
274
- const groupElement = optionElement.closest('mat-optgroup');
275
- if (groupElement) {
276
- groupVisibility.set(groupElement, (groupVisibility.get(groupElement) ?? false) || visible);
277
- }
278
- }
279
- for (const [groupElement, visible] of groupVisibility) {
280
- groupElement.hidden = !visible;
281
- }
282
- const visibleOptions = this.options.filter((option) => !this.hiddenOptions.has(option));
283
- this.visibleOptionCount.set(visibleOptions.length);
284
- if (normalizedQuery && this.panelOpen) {
285
- const activeOption = visibleOptions.find((option) => option.selected && !option.disabled) ??
286
- visibleOptions.find((option) => !option.disabled);
287
- this.materialSetActiveItem(activeOption ?? -1);
288
- }
289
- }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: SelectComponent, isStandalone: true, selector: "SelectField", inputs: { search: { classPropertyName: "search", publicName: "search", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, searchEmptyText: { classPropertyName: "searchEmptyText", publicName: "searchEmptyText", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, properties: { "attr.aria-describedby": "resolvedDescribedBy()" }, classAttribute: "mat-mdc-select" }, providers: [
292
- { provide: MatSelect, useExisting: forwardRef(() => SelectComponent) },
293
- { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: forwardRef(() => SelectComponent) },
294
- ], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }], exportAs: ["matSelect"], usesInheritance: true, hostDirectives: [{ directive: i1.ComponentScaleDirective, inputs: ["radius", "radius", "density", "density"] }], ngImport: i0, template: `
92
+ var SelectComponent = class SelectComponent extends SelectMaterialBridge {
93
+ componentScale = inject(ComponentScaleDirective);
94
+ radius = this.componentScale.radius;
95
+ density = this.componentScale.density;
96
+ formFieldContext = inject(FormFieldContext, { optional: true });
97
+ search = input(false, {
98
+ ...ngDevMode ? { debugName: "search" } : /* istanbul ignore next */ {},
99
+ transform: booleanAttribute
100
+ });
101
+ searchPlaceholder = input("Search options", ...ngDevMode ? [{ debugName: "searchPlaceholder" }] : /* istanbul ignore next */ []);
102
+ searchEmptyText = input("No options found.", ...ngDevMode ? [{ debugName: "searchEmptyText" }] : /* istanbul ignore next */ []);
103
+ searchQuery = signal("", ...ngDevMode ? [{ debugName: "searchQuery" }] : /* istanbul ignore next */ []);
104
+ visibleOptionCount = signal(0, ...ngDevMode ? [{ debugName: "visibleOptionCount" }] : /* istanbul ignore next */ []);
105
+ searchInput = viewChild("searchInput", ...ngDevMode ? [{ debugName: "searchInput" }] : /* istanbul ignore next */ []);
106
+ hiddenOptions = /* @__PURE__ */ new Set();
107
+ constructor() {
108
+ super();
109
+ this.configureMaterialPositions(ITEM_ALIGNED_POSITIONS);
110
+ effect(() => {
111
+ if (!this.search() && this.searchQuery()) this.resetSearch();
112
+ });
113
+ const ctx = this.formFieldContext;
114
+ if (ctx) this.errorStateMatcher = { isErrorState: () => ctx.invalid() };
115
+ }
116
+ resolvedDescribedBy() {
117
+ return this.formFieldContext?.describedBy() ?? this.userAriaDescribedBy ?? null;
118
+ }
119
+ ngOnInit() {
120
+ super.ngOnInit();
121
+ this.publishControl();
122
+ }
123
+ ngAfterViewInit() {
124
+ this.publishControl();
125
+ }
126
+ ngAfterContentInit() {
127
+ super.ngAfterContentInit();
128
+ this.materialConfigureSkipPredicate((option) => this.hiddenOptions.has(option) || !this.panelOpen && option.disabled);
129
+ this.options.changes.pipe(takeUntil(this.materialDestroyed)).subscribe(() => {
130
+ this.applySearch(this.searchQuery());
131
+ });
132
+ this.optionSelectionChanges.pipe(takeUntil(this.materialDestroyed)).subscribe((event) => {
133
+ if (event.isUserInput && this.multiple && this.search() && this.panelOpen) this.focusSearchInput();
134
+ });
135
+ this.visibleOptionCount.set(this.options.length);
136
+ }
137
+ open() {
138
+ const wasOpen = this.panelOpen;
139
+ super.open();
140
+ if (!wasOpen && this.panelOpen && this.search()) {
141
+ this.resetSearch();
142
+ this.focusSearchInput();
143
+ }
144
+ }
145
+ close() {
146
+ const wasOpen = this.panelOpen;
147
+ super.close();
148
+ if (wasOpen) this.resetSearch();
149
+ }
150
+ onSearchInput(event) {
151
+ const query = event.target.value;
152
+ this.searchQuery.set(query);
153
+ this.applySearch(query);
154
+ }
155
+ onSearchKeydown(event) {
156
+ switch (event.key) {
157
+ case "ArrowDown":
158
+ case "ArrowUp":
159
+ case "PageDown":
160
+ case "PageUp":
161
+ case "Enter":
162
+ case "Tab":
163
+ this.materialHandleKeydown(event);
164
+ event.stopPropagation();
165
+ break;
166
+ case "Escape":
167
+ event.preventDefault();
168
+ event.stopPropagation();
169
+ this.close();
170
+ this.focus();
171
+ }
172
+ }
173
+ publishControl() {
174
+ const context = this.formFieldContext;
175
+ if (!context) return;
176
+ const control = this.ngControl?.control ?? null;
177
+ if (control !== context.control()) context.control.set(control);
178
+ }
179
+ resetSearch() {
180
+ this.searchQuery.set("");
181
+ this.applySearch("");
182
+ }
183
+ focusSearchInput() {
184
+ queueMicrotask(() => this.searchInput()?.nativeElement.focus());
185
+ }
186
+ applySearch(query) {
187
+ if (!this.options) return;
188
+ const normalizedQuery = query.trim().toLocaleLowerCase();
189
+ const groupVisibility = /* @__PURE__ */ new Map();
190
+ this.hiddenOptions.clear();
191
+ for (const option of this.options) {
192
+ const visible = !normalizedQuery || option.viewValue.toLocaleLowerCase().includes(normalizedQuery);
193
+ const optionElement = materialOptionHost(option);
194
+ optionElement.hidden = !visible;
195
+ if (!visible) this.hiddenOptions.add(option);
196
+ const groupElement = optionElement.closest("mat-optgroup");
197
+ if (groupElement) groupVisibility.set(groupElement, (groupVisibility.get(groupElement) ?? false) || visible);
198
+ }
199
+ for (const [groupElement, visible] of groupVisibility) groupElement.hidden = !visible;
200
+ const visibleOptions = this.options.filter((option) => !this.hiddenOptions.has(option));
201
+ this.visibleOptionCount.set(visibleOptions.length);
202
+ if (normalizedQuery && this.panelOpen) {
203
+ const activeOption = visibleOptions.find((option) => option.selected && !option.disabled) ?? visibleOptions.find((option) => !option.disabled);
204
+ this.materialSetActiveItem(activeOption ?? -1);
205
+ }
206
+ }
207
+ static ɵfac = i0.ɵɵngDeclareFactory({
208
+ minVersion: "12.0.0",
209
+ version: "22.2.0",
210
+ ngImport: i0,
211
+ type: SelectComponent,
212
+ deps: [],
213
+ target: i0.ɵɵFactoryTarget.Component
214
+ });
215
+ static ɵcmp = i0.ɵɵngDeclareComponent({
216
+ minVersion: "17.0.0",
217
+ version: "22.2.0",
218
+ type: SelectComponent,
219
+ isStandalone: true,
220
+ selector: "SelectField",
221
+ inputs: {
222
+ search: {
223
+ classPropertyName: "search",
224
+ publicName: "search",
225
+ isSignal: true,
226
+ isRequired: false,
227
+ transformFunction: null
228
+ },
229
+ searchPlaceholder: {
230
+ classPropertyName: "searchPlaceholder",
231
+ publicName: "searchPlaceholder",
232
+ isSignal: true,
233
+ isRequired: false,
234
+ transformFunction: null
235
+ },
236
+ searchEmptyText: {
237
+ classPropertyName: "searchEmptyText",
238
+ publicName: "searchEmptyText",
239
+ isSignal: true,
240
+ isRequired: false,
241
+ transformFunction: null
242
+ }
243
+ },
244
+ host: {
245
+ attributes: {
246
+ "role": "combobox",
247
+ "aria-haspopup": "listbox"
248
+ },
249
+ properties: { "attr.aria-describedby": "resolvedDescribedBy()" },
250
+ classAttribute: "mat-mdc-select"
251
+ },
252
+ providers: [{
253
+ provide: MatSelect,
254
+ useExisting: forwardRef(() => SelectComponent)
255
+ }, {
256
+ provide: MAT_OPTION_PARENT_COMPONENT,
257
+ useExisting: forwardRef(() => SelectComponent)
258
+ }],
259
+ viewQueries: [{
260
+ propertyName: "searchInput",
261
+ first: true,
262
+ predicate: ["searchInput"],
263
+ descendants: true,
264
+ isSignal: true
265
+ }],
266
+ exportAs: ["matSelect"],
267
+ usesInheritance: true,
268
+ hostDirectives: [{
269
+ directive: i1.ComponentScaleDirective,
270
+ inputs: [
271
+ "radius",
272
+ "radius",
273
+ "density",
274
+ "density"
275
+ ]
276
+ }],
277
+ ngImport: i0,
278
+ template: `
295
279
  <div
296
280
  cdk-overlay-origin
297
281
  class="mat-mdc-select-trigger"
@@ -390,24 +374,95 @@ class SelectComponent extends SelectMaterialBridge {
390
374
  }
391
375
  </div>
392
376
  </ng-template>
393
- `, isInline: true, styles: ["@keyframes _mat-select-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{0%{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var( --mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12) )}.mat-mdc-select-disabled,.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var( --mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent) )}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(forced-colors:active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;box-sizing:border-box;transform-origin:top center;border-radius:0 0 4px 4px;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-radius:4px 4px 0 0;transform-origin:bottom center}@media(forced-colors:active){div.mat-mdc-select-panel{outline:solid 1px}}.mat-select-panel-animations-enabled{animation:_mat-select-enter .12s cubic-bezier(0,0,.2,1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit .1s linear}.mat-mdc-select-placeholder{transition:color .4s .1333333333333s cubic-bezier(.25,.8,.25,1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n", "selectfield.mat-mdc-select{display:flex;align-items:center;box-sizing:border-box;width:100%;height:var(--control-height-md);padding:0;border:1px solid hsl(var(--input));border-radius:var(--radius-base);background:transparent;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);cursor:pointer}selectfield .mat-mdc-select-trigger{height:100%;padding:0 calc(var(--spacing-base) * 3)}selectfield.mat-mdc-select:focus:not(.mat-select-open){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}selectfield.mat-mdc-select-disabled{cursor:not-allowed;opacity:.5;background:hsl(var(--muted) / .4)}selectfield.mat-mdc-select-invalid{border-color:hsl(var(--destructive))}selectfield .mat-mdc-select-value{color:hsl(var(--foreground))}selectfield .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}selectfield .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}div.mat-mdc-select-panel.select-panel{--mat-select-panel-background-color: hsl(var(--popover));display:flex;flex-direction:column;background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--ring));border-radius:var(--radius-base);box-shadow:0 0 0 1px hsl(var(--ring)),var(--shadow-md, 0 8px 18px -14px hsl(var(--foreground) / .24));padding:calc(var(--spacing-base) * 1);overflow:hidden}.select-panel .select-options{min-height:0;overflow:auto;outline:none}.select-search{flex:0 0 auto;margin-block-end:calc(var(--spacing-base) * 1)}.select-search-input{box-sizing:border-box;width:100%;height:var(--control-height-md);border:1px solid hsl(var(--input));border-radius:var(--radius-base);outline:none;background:transparent;color:hsl(var(--popover-foreground));padding-inline:calc(var(--spacing-base) * 3);font:inherit}.select-search-input::placeholder{color:hsl(var(--muted-foreground))}.select-search-input:focus-visible{border-color:hsl(var(--input));box-shadow:none}.select-search-input::-webkit-search-cancel-button{cursor:pointer}.select-empty{color:hsl(var(--muted-foreground));padding:calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-align:center}.select-panel .mat-mdc-option{--mat-option-label-text-color: hsl(var(--popover-foreground));--mat-option-label-text-font: var(--font-sans);--mat-option-label-text-size: var(--text-sm);--mat-option-label-text-line-height: var(--text-sm--line-height);--mat-option-label-text-weight: 400;--mat-option-hover-state-layer-color: hsl(var(--accent));--mat-option-focus-state-layer-color: hsl(var(--accent));--mat-option-selected-state-layer-color: hsl(var(--accent));--mat-option-selected-state-label-text-color: hsl(var(--accent-foreground));min-height:var(--control-height-md);border-radius:var(--radius-base)}.select-panel .mat-mdc-option+.mat-mdc-option{margin-block-start:calc(var(--spacing-base) * .5)}.select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:hsl(var(--accent-foreground))}.select-panel .mat-mdc-optgroup-label{--mat-optgroup-label-text-color: hsl(var(--muted-foreground));--mat-optgroup-label-text-font: var(--font-sans);--mat-optgroup-label-text-size: var(--text-xs);min-height:var(--control-height-xs)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], encapsulation: i0.ViewEncapsulation.None });
394
- }
395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: SelectComponent, decorators: [{
396
- type: Component,
397
- args: [{ selector: 'SelectField', hostDirectives: [
398
- {
399
- directive: ComponentScaleDirective,
400
- inputs: ['radius', 'density'],
401
- },
402
- ], exportAs: 'matSelect', encapsulation: ViewEncapsulation.None, imports: [OverlayModule], host: {
403
- class: 'mat-mdc-select',
404
- role: 'combobox',
405
- 'aria-haspopup': 'listbox',
406
- '[attr.aria-describedby]': 'resolvedDescribedBy()',
407
- }, providers: [
408
- { provide: MatSelect, useExisting: forwardRef(() => SelectComponent) },
409
- { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: forwardRef(() => SelectComponent) },
410
- ], template: `
377
+ `,
378
+ isInline: true,
379
+ styles: ["@keyframes _mat-select-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{0%{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var( --mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12) )}.mat-mdc-select-disabled,.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var( --mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent) )}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(forced-colors:active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;box-sizing:border-box;transform-origin:top center;border-radius:0 0 4px 4px;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-radius:4px 4px 0 0;transform-origin:bottom center}@media(forced-colors:active){div.mat-mdc-select-panel{outline:solid 1px}}.mat-select-panel-animations-enabled{animation:_mat-select-enter .12s cubic-bezier(0,0,.2,1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit .1s linear}.mat-mdc-select-placeholder{transition:color .4s .1333333333333s cubic-bezier(.25,.8,.25,1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n", "selectfield.mat-mdc-select{display:flex;align-items:center;box-sizing:border-box;width:100%;height:var(--control-height-md);padding:0;border:1px solid hsl(var(--input));border-radius:var(--radius-base);background:transparent;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);cursor:pointer}selectfield .mat-mdc-select-trigger{height:100%;padding:0 calc(var(--spacing-base) * 3)}selectfield.mat-mdc-select:focus:not(.mat-select-open){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}selectfield.mat-mdc-select-disabled{cursor:not-allowed;opacity:.5;background:hsl(var(--muted) / .4)}selectfield.mat-mdc-select-invalid{border-color:hsl(var(--destructive))}selectfield .mat-mdc-select-value{color:hsl(var(--foreground))}selectfield .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}selectfield .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}div.mat-mdc-select-panel.select-panel{--mat-select-panel-background-color: hsl(var(--popover));display:flex;flex-direction:column;background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--ring));border-radius:var(--radius-base);box-shadow:0 0 0 1px hsl(var(--ring)),var(--shadow-md, 0 8px 18px -14px hsl(var(--foreground) / .24));padding:calc(var(--spacing-base) * 1);overflow:hidden}.select-panel .select-options{min-height:0;overflow:auto;outline:none}.select-search{flex:0 0 auto;margin-block-end:calc(var(--spacing-base) * 1)}.select-search-input{box-sizing:border-box;width:100%;height:var(--control-height-md);border:1px solid hsl(var(--input));border-radius:var(--radius-base);outline:none;background:transparent;color:hsl(var(--popover-foreground));padding-inline:calc(var(--spacing-base) * 3);font:inherit}.select-search-input::placeholder{color:hsl(var(--muted-foreground))}.select-search-input:focus-visible{border-color:hsl(var(--input));box-shadow:none}.select-search-input::-webkit-search-cancel-button{cursor:pointer}.select-empty{color:hsl(var(--muted-foreground));padding:calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-align:center}.select-panel .mat-mdc-option{--mat-option-label-text-color: hsl(var(--popover-foreground));--mat-option-label-text-font: var(--font-sans);--mat-option-label-text-size: var(--text-sm);--mat-option-label-text-line-height: var(--text-sm--line-height);--mat-option-label-text-weight: 400;--mat-option-hover-state-layer-color: hsl(var(--accent));--mat-option-focus-state-layer-color: hsl(var(--accent));--mat-option-selected-state-layer-color: hsl(var(--accent));--mat-option-selected-state-label-text-color: hsl(var(--accent-foreground));min-height:var(--control-height-md);border-radius:var(--radius-base)}.select-panel .mat-mdc-option+.mat-mdc-option{margin-block-start:calc(var(--spacing-base) * .5)}.select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:hsl(var(--accent-foreground))}.select-panel .mat-mdc-optgroup-label{--mat-optgroup-label-text-color: hsl(var(--muted-foreground));--mat-optgroup-label-text-font: var(--font-sans);--mat-optgroup-label-text-size: var(--text-xs);min-height:var(--control-height-xs)}\n"],
380
+ dependencies: [
381
+ {
382
+ kind: "ngmodule",
383
+ type: OverlayModule
384
+ },
385
+ {
386
+ kind: "directive",
387
+ type: i2.CdkConnectedOverlay,
388
+ selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]",
389
+ inputs: [
390
+ "cdkConnectedOverlayOrigin",
391
+ "cdkConnectedOverlayPositions",
392
+ "cdkConnectedOverlayPositionStrategy",
393
+ "cdkConnectedOverlayOffsetX",
394
+ "cdkConnectedOverlayOffsetY",
395
+ "cdkConnectedOverlayWidth",
396
+ "cdkConnectedOverlayHeight",
397
+ "cdkConnectedOverlayMinWidth",
398
+ "cdkConnectedOverlayMinHeight",
399
+ "cdkConnectedOverlayBackdropClass",
400
+ "cdkConnectedOverlayPanelClass",
401
+ "cdkConnectedOverlayViewportMargin",
402
+ "cdkConnectedOverlayScrollStrategy",
403
+ "cdkConnectedOverlayOpen",
404
+ "cdkConnectedOverlayDisableClose",
405
+ "cdkConnectedOverlayTransformOriginOn",
406
+ "cdkConnectedOverlayHasBackdrop",
407
+ "cdkConnectedOverlayLockPosition",
408
+ "cdkConnectedOverlayFlexibleDimensions",
409
+ "cdkConnectedOverlayGrowAfterOpen",
410
+ "cdkConnectedOverlayPush",
411
+ "cdkConnectedOverlayDisposeOnNavigation",
412
+ "cdkConnectedOverlayUsePopover",
413
+ "cdkConnectedOverlayMatchWidth",
414
+ "cdkConnectedOverlay"
415
+ ],
416
+ outputs: [
417
+ "backdropClick",
418
+ "positionChange",
419
+ "attach",
420
+ "detach",
421
+ "overlayKeydown",
422
+ "overlayOutsideClick"
423
+ ],
424
+ exportAs: ["cdkConnectedOverlay"]
425
+ },
426
+ {
427
+ kind: "directive",
428
+ type: i2.CdkOverlayOrigin,
429
+ selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]",
430
+ exportAs: ["cdkOverlayOrigin"]
431
+ }
432
+ ],
433
+ encapsulation: i0.ViewEncapsulation.None
434
+ });
435
+ };
436
+ i0.ɵɵngDeclareClassMetadata({
437
+ minVersion: "12.0.0",
438
+ version: "22.2.0",
439
+ ngImport: i0,
440
+ type: SelectComponent,
441
+ decorators: [{
442
+ type: Component,
443
+ args: [{
444
+ selector: "SelectField",
445
+ hostDirectives: [{
446
+ directive: ComponentScaleDirective,
447
+ inputs: ["radius", "density"]
448
+ }],
449
+ exportAs: "matSelect",
450
+ encapsulation: ViewEncapsulation.None,
451
+ imports: [OverlayModule],
452
+ host: {
453
+ class: "mat-mdc-select",
454
+ role: "combobox",
455
+ "aria-haspopup": "listbox",
456
+ "[attr.aria-describedby]": "resolvedDescribedBy()"
457
+ },
458
+ providers: [{
459
+ provide: MatSelect,
460
+ useExisting: forwardRef(() => SelectComponent)
461
+ }, {
462
+ provide: MAT_OPTION_PARENT_COMPONENT,
463
+ useExisting: forwardRef(() => SelectComponent)
464
+ }],
465
+ template: `
411
466
  <div
412
467
  cdk-overlay-origin
413
468
  class="mat-mdc-select-trigger"
@@ -506,30 +561,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
506
561
  }
507
562
  </div>
508
563
  </ng-template>
509
- `, styles: ["@keyframes _mat-select-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{0%{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var( --mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12) )}.mat-mdc-select-disabled,.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var( --mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent) )}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(forced-colors:active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;box-sizing:border-box;transform-origin:top center;border-radius:0 0 4px 4px;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-radius:4px 4px 0 0;transform-origin:bottom center}@media(forced-colors:active){div.mat-mdc-select-panel{outline:solid 1px}}.mat-select-panel-animations-enabled{animation:_mat-select-enter .12s cubic-bezier(0,0,.2,1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit .1s linear}.mat-mdc-select-placeholder{transition:color .4s .1333333333333s cubic-bezier(.25,.8,.25,1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n", "selectfield.mat-mdc-select{display:flex;align-items:center;box-sizing:border-box;width:100%;height:var(--control-height-md);padding:0;border:1px solid hsl(var(--input));border-radius:var(--radius-base);background:transparent;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);cursor:pointer}selectfield .mat-mdc-select-trigger{height:100%;padding:0 calc(var(--spacing-base) * 3)}selectfield.mat-mdc-select:focus:not(.mat-select-open){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}selectfield.mat-mdc-select-disabled{cursor:not-allowed;opacity:.5;background:hsl(var(--muted) / .4)}selectfield.mat-mdc-select-invalid{border-color:hsl(var(--destructive))}selectfield .mat-mdc-select-value{color:hsl(var(--foreground))}selectfield .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}selectfield .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}div.mat-mdc-select-panel.select-panel{--mat-select-panel-background-color: hsl(var(--popover));display:flex;flex-direction:column;background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--ring));border-radius:var(--radius-base);box-shadow:0 0 0 1px hsl(var(--ring)),var(--shadow-md, 0 8px 18px -14px hsl(var(--foreground) / .24));padding:calc(var(--spacing-base) * 1);overflow:hidden}.select-panel .select-options{min-height:0;overflow:auto;outline:none}.select-search{flex:0 0 auto;margin-block-end:calc(var(--spacing-base) * 1)}.select-search-input{box-sizing:border-box;width:100%;height:var(--control-height-md);border:1px solid hsl(var(--input));border-radius:var(--radius-base);outline:none;background:transparent;color:hsl(var(--popover-foreground));padding-inline:calc(var(--spacing-base) * 3);font:inherit}.select-search-input::placeholder{color:hsl(var(--muted-foreground))}.select-search-input:focus-visible{border-color:hsl(var(--input));box-shadow:none}.select-search-input::-webkit-search-cancel-button{cursor:pointer}.select-empty{color:hsl(var(--muted-foreground));padding:calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-align:center}.select-panel .mat-mdc-option{--mat-option-label-text-color: hsl(var(--popover-foreground));--mat-option-label-text-font: var(--font-sans);--mat-option-label-text-size: var(--text-sm);--mat-option-label-text-line-height: var(--text-sm--line-height);--mat-option-label-text-weight: 400;--mat-option-hover-state-layer-color: hsl(var(--accent));--mat-option-focus-state-layer-color: hsl(var(--accent));--mat-option-selected-state-layer-color: hsl(var(--accent));--mat-option-selected-state-label-text-color: hsl(var(--accent-foreground));min-height:var(--control-height-md);border-radius:var(--radius-base)}.select-panel .mat-mdc-option+.mat-mdc-option{margin-block-start:calc(var(--spacing-base) * .5)}.select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:hsl(var(--accent-foreground))}.select-panel .mat-mdc-optgroup-label{--mat-optgroup-label-text-color: hsl(var(--muted-foreground));--mat-optgroup-label-text-font: var(--font-sans);--mat-optgroup-label-text-size: var(--text-xs);min-height:var(--control-height-xs)}\n"] }]
510
- }], ctorParameters: () => [], propDecorators: { search: [{ type: i0.Input, args: [{ isSignal: true, alias: "search", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], searchEmptyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchEmptyText", required: false }] }], searchInput: [{ type: i0.ViewChild, args: ['searchInput', { isSignal: true }] }] } });
511
-
512
- /**
513
- * Option for `<SelectField>`.
514
- *
515
- * IMPORTANT: this MUST extend `MatOption` rather than wrap it in a child view.
516
- * `mat-select` discovers options via `@ContentChildren(MatOption, { descendants: true })`,
517
- * and Angular content queries do NOT cross into a child component's view. A
518
- * previous version rendered `<mat-option>` inside this component's template, so
519
- * mat-select found zero options — the trigger showed its placeholder instead of
520
- * the bound value and `MatSelect._canOpen()` refused to open (it returns false
521
- * when `options.length === 0`). By extending `MatOption` and re-providing it,
522
- * the `<SelectItem>` element IS a real option that the query matches, working
523
- * both at top level and nested inside `<mat-optgroup>`.
524
- *
525
- * Inputs (`value`, `disabled`, `id`), outputs, host bindings, and the internal
526
- * `#text` view query are inherited from `MatOption`; only the template, styles,
527
- * and the self-provider below are declared here. The template/styles mirror
528
- * Material's own option so rendering stays pixel-identical.
529
- */
530
- class OptionComponent extends MatOption {
531
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: OptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
532
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: OptionComponent, isStandalone: true, selector: "SelectItem", providers: [{ provide: MatOption, useExisting: forwardRef(() => OptionComponent) }], exportAs: ["matOption"], usesInheritance: true, ngImport: i0, template: `
564
+ `,
565
+ styles: ["@keyframes _mat-select-enter{0%{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:none}}@keyframes _mat-select-exit{0%{opacity:1}to{opacity:0}}.mat-mdc-select{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-sys-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-sys-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-sys-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-sys-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-sys-body-large-tracking))}div.mat-mdc-select-panel{box-shadow:var( --mat-select-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12) )}.mat-mdc-select-disabled,.mat-mdc-select-disabled .mat-mdc-select-placeholder{color:var( --mat-select-disabled-trigger-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent) )}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-mdc-select-arrow{width:10px;height:5px;position:relative;color:var(--mat-select-enabled-arrow-color, var(--mat-sys-on-surface-variant))}.mat-select-open .mat-mdc-select-arrow{transform:rotate(180deg)}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(forced-colors:active){.mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .mat-mdc-select-arrow svg{fill:GrayText}}div.mat-mdc-select-panel{width:100%;max-height:275px;outline:0;overflow:auto;padding:8px 0;box-sizing:border-box;transform-origin:top center;border-radius:0 0 4px 4px;position:relative;background-color:var(--mat-select-panel-background-color, var(--mat-sys-surface-container))}.mat-mdc-select-panel-above div.mat-mdc-select-panel{border-radius:4px 4px 0 0;transform-origin:bottom center}@media(forced-colors:active){div.mat-mdc-select-panel{outline:solid 1px}}.mat-select-panel-animations-enabled{animation:_mat-select-enter .12s cubic-bezier(0,0,.2,1)}.mat-select-panel-animations-enabled.mat-select-panel-exit{animation:_mat-select-exit .1s linear}.mat-mdc-select-placeholder{transition:color .4s .1333333333333s cubic-bezier(.25,.8,.25,1);color:var(--mat-select-placeholder-text-color, var(--mat-sys-on-surface-variant))}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}\n", "selectfield.mat-mdc-select{display:flex;align-items:center;box-sizing:border-box;width:100%;height:var(--control-height-md);padding:0;border:1px solid hsl(var(--input));border-radius:var(--radius-base);background:transparent;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);cursor:pointer}selectfield .mat-mdc-select-trigger{height:100%;padding:0 calc(var(--spacing-base) * 3)}selectfield.mat-mdc-select:focus:not(.mat-select-open){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}selectfield.mat-mdc-select-disabled{cursor:not-allowed;opacity:.5;background:hsl(var(--muted) / .4)}selectfield.mat-mdc-select-invalid{border-color:hsl(var(--destructive))}selectfield .mat-mdc-select-value{color:hsl(var(--foreground))}selectfield .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}selectfield .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}div.mat-mdc-select-panel.select-panel{--mat-select-panel-background-color: hsl(var(--popover));display:flex;flex-direction:column;background-color:hsl(var(--popover));color:hsl(var(--popover-foreground));border:1px solid hsl(var(--ring));border-radius:var(--radius-base);box-shadow:0 0 0 1px hsl(var(--ring)),var(--shadow-md, 0 8px 18px -14px hsl(var(--foreground) / .24));padding:calc(var(--spacing-base) * 1);overflow:hidden}.select-panel .select-options{min-height:0;overflow:auto;outline:none}.select-search{flex:0 0 auto;margin-block-end:calc(var(--spacing-base) * 1)}.select-search-input{box-sizing:border-box;width:100%;height:var(--control-height-md);border:1px solid hsl(var(--input));border-radius:var(--radius-base);outline:none;background:transparent;color:hsl(var(--popover-foreground));padding-inline:calc(var(--spacing-base) * 3);font:inherit}.select-search-input::placeholder{color:hsl(var(--muted-foreground))}.select-search-input:focus-visible{border-color:hsl(var(--input));box-shadow:none}.select-search-input::-webkit-search-cancel-button{cursor:pointer}.select-empty{color:hsl(var(--muted-foreground));padding:calc(var(--spacing-base) * 2) calc(var(--spacing-base) * 3);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-align:center}.select-panel .mat-mdc-option{--mat-option-label-text-color: hsl(var(--popover-foreground));--mat-option-label-text-font: var(--font-sans);--mat-option-label-text-size: var(--text-sm);--mat-option-label-text-line-height: var(--text-sm--line-height);--mat-option-label-text-weight: 400;--mat-option-hover-state-layer-color: hsl(var(--accent));--mat-option-focus-state-layer-color: hsl(var(--accent));--mat-option-selected-state-layer-color: hsl(var(--accent));--mat-option-selected-state-label-text-color: hsl(var(--accent-foreground));min-height:var(--control-height-md);border-radius:var(--radius-base)}.select-panel .mat-mdc-option+.mat-mdc-option{margin-block-start:calc(var(--spacing-base) * .5)}.select-panel .mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled) .mdc-list-item__primary-text{color:hsl(var(--accent-foreground))}.select-panel .mat-mdc-optgroup-label{--mat-optgroup-label-text-color: hsl(var(--muted-foreground));--mat-optgroup-label-text-font: var(--font-sans);--mat-optgroup-label-text-size: var(--text-xs);min-height:var(--control-height-xs)}\n"]
566
+ }]
567
+ }],
568
+ ctorParameters: () => [],
569
+ propDecorators: {
570
+ search: [{
571
+ type: i0.Input,
572
+ args: [{
573
+ isSignal: true,
574
+ alias: "search",
575
+ required: false
576
+ }]
577
+ }],
578
+ searchPlaceholder: [{
579
+ type: i0.Input,
580
+ args: [{
581
+ isSignal: true,
582
+ alias: "searchPlaceholder",
583
+ required: false
584
+ }]
585
+ }],
586
+ searchEmptyText: [{
587
+ type: i0.Input,
588
+ args: [{
589
+ isSignal: true,
590
+ alias: "searchEmptyText",
591
+ required: false
592
+ }]
593
+ }],
594
+ searchInput: [{
595
+ type: i0.ViewChild,
596
+ args: ["searchInput", { isSignal: true }]
597
+ }]
598
+ }
599
+ });
600
+ var OptionComponent = class OptionComponent extends MatOption {
601
+ static ɵfac = i0.ɵɵngDeclareFactory({
602
+ minVersion: "12.0.0",
603
+ version: "22.2.0",
604
+ ngImport: i0,
605
+ type: OptionComponent,
606
+ deps: null,
607
+ target: i0.ɵɵFactoryTarget.Component
608
+ });
609
+ static ɵcmp = i0.ɵɵngDeclareComponent({
610
+ minVersion: "17.0.0",
611
+ version: "22.2.0",
612
+ type: OptionComponent,
613
+ isStandalone: true,
614
+ selector: "SelectItem",
615
+ providers: [{
616
+ provide: MatOption,
617
+ useExisting: forwardRef(() => OptionComponent)
618
+ }],
619
+ exportAs: ["matOption"],
620
+ usesInheritance: true,
621
+ ngImport: i0,
622
+ template: `
533
623
  @if (multiple) {
534
624
  <mat-pseudo-checkbox
535
625
  class="mat-mdc-option-pseudo-checkbox"
@@ -564,11 +654,53 @@ class OptionComponent extends MatOption {
564
654
  [matRippleTrigger]="_getHostElement()"
565
655
  [matRippleDisabled]="disabled || disableRipple"
566
656
  ></div>
567
- `, isInline: true, styles: [".mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var( --mat-option-hover-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent ) )}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var( --mat-option-focus-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent ) );outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var( --mat-option-selected-state-layer-color, var(--mat-sys-secondary-container) )}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var( --mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container) )}.mat-mdc-option.mdc-list-item{align-items:center;background:transparent}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{inset:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors:active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var( --mat-list-list-item-container-color, transparent )}.mat-mdc-option-active .mat-focus-indicator:before{content:\"\"}\n"], dependencies: [{ kind: "component", type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: ["state", "disabled", "appearance"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], encapsulation: i0.ViewEncapsulation.None });
568
- }
569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: OptionComponent, decorators: [{
570
- type: Component,
571
- args: [{ selector: 'SelectItem', imports: [MatPseudoCheckbox, MatRipple], encapsulation: ViewEncapsulation.None, exportAs: 'matOption', providers: [{ provide: MatOption, useExisting: forwardRef(() => OptionComponent) }], template: `
657
+ `,
658
+ isInline: true,
659
+ styles: [".mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var( --mat-option-hover-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent ) )}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var( --mat-option-focus-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent ) );outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var( --mat-option-selected-state-layer-color, var(--mat-sys-secondary-container) )}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var( --mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container) )}.mat-mdc-option.mdc-list-item{align-items:center;background:transparent}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{inset:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors:active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var( --mat-list-list-item-container-color, transparent )}.mat-mdc-option-active .mat-focus-indicator:before{content:\"\"}\n"],
660
+ dependencies: [{
661
+ kind: "component",
662
+ type: MatPseudoCheckbox,
663
+ selector: "mat-pseudo-checkbox",
664
+ inputs: [
665
+ "state",
666
+ "disabled",
667
+ "appearance"
668
+ ]
669
+ }, {
670
+ kind: "directive",
671
+ type: MatRipple,
672
+ selector: "[mat-ripple], [matRipple]",
673
+ inputs: [
674
+ "matRippleColor",
675
+ "matRippleUnbounded",
676
+ "matRippleCentered",
677
+ "matRippleRadius",
678
+ "matRippleAnimation",
679
+ "matRippleDisabled",
680
+ "matRippleTrigger"
681
+ ],
682
+ exportAs: ["matRipple"]
683
+ }],
684
+ encapsulation: i0.ViewEncapsulation.None
685
+ });
686
+ };
687
+ i0.ɵɵngDeclareClassMetadata({
688
+ minVersion: "12.0.0",
689
+ version: "22.2.0",
690
+ ngImport: i0,
691
+ type: OptionComponent,
692
+ decorators: [{
693
+ type: Component,
694
+ args: [{
695
+ selector: "SelectItem",
696
+ imports: [MatPseudoCheckbox, MatRipple],
697
+ encapsulation: ViewEncapsulation.None,
698
+ exportAs: "matOption",
699
+ providers: [{
700
+ provide: MatOption,
701
+ useExisting: forwardRef(() => OptionComponent)
702
+ }],
703
+ template: `
572
704
  @if (multiple) {
573
705
  <mat-pseudo-checkbox
574
706
  class="mat-mdc-option-pseudo-checkbox"
@@ -603,11 +735,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
603
735
  [matRippleTrigger]="_getHostElement()"
604
736
  [matRippleDisabled]="disabled || disableRipple"
605
737
  ></div>
606
- `, styles: [".mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var( --mat-option-hover-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent ) )}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var( --mat-option-focus-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent ) );outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var( --mat-option-selected-state-layer-color, var(--mat-sys-secondary-container) )}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var( --mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container) )}.mat-mdc-option.mdc-list-item{align-items:center;background:transparent}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{inset:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors:active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var( --mat-list-list-item-container-color, transparent )}.mat-mdc-option-active .mat-focus-indicator:before{content:\"\"}\n"] }]
607
- }] });
608
-
609
- /**
610
- * Generated bundle index. Do not edit.
611
- */
612
-
613
- export { OptionComponent, SelectComponent };
738
+ `,
739
+ styles: [".mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var( --mat-option-hover-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent ) )}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var( --mat-option-focus-state-layer-color, color-mix( in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent ) );outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var( --mat-option-selected-state-layer-color, var(--mat-sys-secondary-container) )}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var( --mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container) )}.mat-mdc-option.mdc-list-item{align-items:center;background:transparent}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{inset:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors:active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{content:\"\";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox)):after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var( --mat-list-list-item-container-color, transparent )}.mat-mdc-option-active .mat-focus-indicator:before{content:\"\"}\n"]
740
+ }]
741
+ }]
742
+ });
743
+ export { OptionComponent, SelectComponent };