@ojiepermana/angular 22.1.14 → 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-COQ-60DS.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 -496
  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 -113
  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-Be3IqzG4.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-Bc7DWK3R.mjs +0 -522
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-DA8VPEn7.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-U2TJTzlW.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-CIUhmytH.mjs +0 -2668
@@ -1,217 +1,315 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, contentChild, input, output, booleanAttribute, computed, effect, Component } from '@angular/core';
3
- import { cn } from '@ojiepermana/angular/component/utils/core';
4
- import { NavigationContainerComponent, NavigationFlyoutComponent, NavigationHeaderComponent, NavigationFooterComponent } from '@ojiepermana/angular/navigation';
5
- import { NAVIGATION_ADAPTER } from '@ojiepermana/angular/navigation/core';
6
- import { LayoutService } from '@ojiepermana/angular/theme/layout';
7
- import { LayoutIdentityService, LayoutBrand, LayoutUser } from '@ojiepermana/angular/theme/layout/wrapper';
8
- import { PageFilterComponent } from '@ojiepermana/angular/theme/page/filter';
9
- import { PageHeaderComponent } from '@ojiepermana/angular/theme/page/slots';
10
- import { PageSideComponent } from '@ojiepermana/angular/theme/page/side';
11
- import { PageStateService, PAGE_DEFAULT_VARIANT, PAGE_DEFAULT_HEIGHT, PAGE_DEFAULT_SCROLL, PAGE_DEFAULT_APPEARANCE, PAGE_DEFAULT_SIDE_POSITION, PAGE_DEFAULT_SIDE_MODE, PAGE_DEFAULT_SIDE_WIDTH, PAGE_DEFAULT_FILTER_PLACEMENT, PAGE_DEFAULT_FILTER_WIDTH } from '@ojiepermana/angular/theme/page/core';
12
-
13
- /** Instance counter behind each apps launcher's unique id, so several live `Page`s cannot collide on `claimId`. */
1
+ import * as i0 from "@angular/core";
2
+ import { Component, booleanAttribute, computed, contentChild, effect, inject, input, output } from "@angular/core";
3
+ import { cn } from "@ojiepermana/angular/component/utils/core";
4
+ import { NavigationContainerComponent, NavigationFlyoutComponent, NavigationFooterComponent, NavigationHeaderComponent } from "@ojiepermana/angular/navigation";
5
+ import { NAVIGATION_ADAPTER } from "@ojiepermana/angular/navigation/core";
6
+ import { LayoutService } from "@ojiepermana/angular/theme/layout";
7
+ import { LayoutBrand, LayoutIdentityService, LayoutUser } from "@ojiepermana/angular/theme/layout/wrapper";
8
+ import { PageFilterComponent } from "@ojiepermana/angular/theme/page/filter";
9
+ import { PageOverviewComponent } from "@ojiepermana/angular/theme/page/overview";
10
+ import { PageHeaderComponent } from "@ojiepermana/angular/theme/page/slots";
11
+ import { PageSideComponent } from "@ojiepermana/angular/theme/page/side";
12
+ import { PAGE_DEFAULT_APPEARANCE, PAGE_DEFAULT_FILTER_PLACEMENT, PAGE_DEFAULT_FILTER_WIDTH, PAGE_DEFAULT_HEIGHT, PAGE_DEFAULT_SCROLL, PAGE_DEFAULT_SIDE_MODE, PAGE_DEFAULT_SIDE_POSITION, PAGE_DEFAULT_SIDE_WIDTH, PAGE_DEFAULT_VARIANT, PageStateService } from "@ojiepermana/angular/theme/page/core";
13
+ const OVERVIEW_STACKED_ROWS = [
14
+ "grid-rows-[auto_auto_minmax(0,1fr)]",
15
+ "[&>[data-page-slot=filter]]:row-start-1",
16
+ "[&>[data-page-slot=overview]]:row-start-2",
17
+ "[&>[data-page-slot=content]]:row-start-3",
18
+ "[&>[data-page-slot=dashboard]]:row-start-3"
19
+ ].join(" ");
20
+ const OVERVIEW_ROWS = [
21
+ "grid-rows-[auto_minmax(0,1fr)]",
22
+ "[&>[data-page-slot=overview]]:row-start-1",
23
+ "[&>[data-page-slot=content]]:row-start-2",
24
+ "[&>[data-page-slot=dashboard]]:row-start-2"
25
+ ].join(" ");
14
26
  let pageAppsLauncherInstanceId = 0;
15
- class PageComponent {
16
- page = inject(PageStateService);
17
- layout = inject(LayoutService, { optional: true });
18
- navigation = inject(NAVIGATION_ADAPTER, { optional: true });
19
- identity = inject(LayoutIdentityService, { optional: true });
20
- projectedSide = contentChild(PageSideComponent, /* @ts-ignore */
21
- ...(ngDevMode ? [{ debugName: "projectedSide" }] : /* istanbul ignore next */ []));
22
- projectedHeader = contentChild(PageHeaderComponent, /* @ts-ignore */
23
- ...(ngDevMode ? [{ debugName: "projectedHeader" }] : /* istanbul ignore next */ []));
24
- projectedFilter = contentChild(PageFilterComponent, /* @ts-ignore */
25
- ...(ngDevMode ? [{ debugName: "projectedFilter" }] : /* istanbul ignore next */ []));
26
- variant = input(PAGE_DEFAULT_VARIANT, /* @ts-ignore */
27
- ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
28
- height = input(PAGE_DEFAULT_HEIGHT, /* @ts-ignore */
29
- ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
30
- scroll = input(PAGE_DEFAULT_SCROLL, /* @ts-ignore */
31
- ...(ngDevMode ? [{ debugName: "scroll" }] : /* istanbul ignore next */ []));
32
- /** Visual appearance shared with the layout (`flat | border-rail`); unifies header/footer borders. */
33
- appearance = input(PAGE_DEFAULT_APPEARANCE, /* @ts-ignore */
34
- ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
35
- position = input(PAGE_DEFAULT_SIDE_POSITION, /* @ts-ignore */
36
- ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
37
- sideMode = input(PAGE_DEFAULT_SIDE_MODE, /* @ts-ignore */
38
- ...(ngDevMode ? [{ debugName: "sideMode" }] : /* istanbul ignore next */ []));
39
- sideOpen = input(null, /* @ts-ignore */
40
- ...(ngDevMode ? [{ debugName: "sideOpen" }] : /* istanbul ignore next */ []));
41
- sideWidth = input(PAGE_DEFAULT_SIDE_WIDTH, /* @ts-ignore */
42
- ...(ngDevMode ? [{ debugName: "sideWidth" }] : /* istanbul ignore next */ []));
43
- /** Controlled state for a drawer/overlay `PageFilter`. `null` is uncontrolled — the toggle, backdrop, and Esc drive it. */
44
- filterOpen = input(null, /* @ts-ignore */
45
- ...(ngDevMode ? [{ debugName: "filterOpen" }] : /* istanbul ignore next */ []));
46
- class = input('', /* @ts-ignore */
47
- ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
48
- sideOpenChange = output();
49
- filterOpenChange = output();
50
- /** Under the `empty` layout, show the apps button (a flyout of the main navigation) in the top-right corner. `false` turns it off. */
51
- appsLauncher = input(true, { ...(ngDevMode ? { debugName: "appsLauncher" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
52
- /** Id of the navigation the apps launcher surfaces (`main` by default). */
53
- appsNavId = input('main', /* @ts-ignore */
54
- ...(ngDevMode ? [{ debugName: "appsNavId" }] : /* istanbul ignore next */ []));
55
- /** Material symbol for the apps launcher button. */
56
- appsIcon = input('apps', /* @ts-ignore */
57
- ...(ngDevMode ? [{ debugName: "appsIcon" }] : /* istanbul ignore next */ []));
58
- /** Label and `aria-label` for the icon-only apps launcher button. */
59
- appsLabel = input('Open navigation', /* @ts-ignore */
60
- ...(ngDevMode ? [{ debugName: "appsLabel" }] : /* istanbul ignore next */ []));
61
- /** Accessible name for the backdrop button that dismisses an open overlay panel. */
62
- overlayCloseLabel = input('Close overlay panel', /* @ts-ignore */
63
- ...(ngDevMode ? [{ debugName: "overlayCloseLabel" }] : /* istanbul ignore next */ []));
64
- /** Id unik untuk instance `<Navigation>` apps-launcher; tak boleh memakai id `main` (akan bentrok `claimId`). */
65
- launcherNavId = `__page-apps-${(pageAppsLauncherInstanceId += 1)}`;
66
- resolvedPosition = computed(() => this.projectedSide()?.position() ?? this.position(), /* @ts-ignore */
67
- ...(ngDevMode ? [{ debugName: "resolvedPosition" }] : /* istanbul ignore next */ []));
68
- resolvedSideMode = computed(() => this.projectedSide()?.mode() ?? this.sideMode(), /* @ts-ignore */
69
- ...(ngDevMode ? [{ debugName: "resolvedSideMode" }] : /* istanbul ignore next */ []));
70
- isLeftSide = computed(() => this.resolvedPosition() === 'left', /* @ts-ignore */
71
- ...(ngDevMode ? [{ debugName: "isLeftSide" }] : /* istanbul ignore next */ []));
72
- isRightSide = computed(() => this.resolvedPosition() === 'right', /* @ts-ignore */
73
- ...(ngDevMode ? [{ debugName: "isRightSide" }] : /* istanbul ignore next */ []));
74
- // Filter — resolusi dibaca langsung dari `PageFilter` yang diprojeksikan (reactive content query).
75
- // Resolusi filter dibaca dari `PageFilter` yang diprojeksikan, lalu fall back ke page-state
76
- // (diisi `registerFilter`), lalu default — pola seragam agar Page & PageFilter selalu sepakat.
77
- hasFilter = computed(() => this.projectedFilter() !== undefined, /* @ts-ignore */
78
- ...(ngDevMode ? [{ debugName: "hasFilter" }] : /* istanbul ignore next */ []));
79
- filterPlacement = computed(() => this.projectedFilter()?.placement() ??
80
- this.page.filterPlacement() ??
81
- PAGE_DEFAULT_FILTER_PLACEMENT, /* @ts-ignore */
82
- ...(ngDevMode ? [{ debugName: "filterPlacement" }] : /* istanbul ignore next */ []));
83
- /** Mode efektif: `stacked` selalu `sticky`; `side` memakai mode pada `PageFilter`. */
84
- filterMode = computed(() => this.filterPlacement() === 'stacked'
85
- ? 'sticky'
86
- : (this.projectedFilter()?.mode() ?? this.page.filterMode()), /* @ts-ignore */
87
- ...(ngDevMode ? [{ debugName: "filterMode" }] : /* istanbul ignore next */ []));
88
- filterPosition = computed(() => this.projectedFilter()?.position() ?? this.page.filterPosition(), /* @ts-ignore */
89
- ...(ngDevMode ? [{ debugName: "filterPosition" }] : /* istanbul ignore next */ []));
90
- filterWidthVar = computed(() => this.projectedFilter()?.width() ?? this.page.filterWidth() ?? PAGE_DEFAULT_FILTER_WIDTH, /* @ts-ignore */
91
- ...(ngDevMode ? [{ debugName: "filterWidthVar" }] : /* istanbul ignore next */ []));
92
- showsSideOverlayBackdrop = computed(() => this.variant() === 'side' && this.resolvedSideMode() === 'overlay' && this.page.sideOpen(), /* @ts-ignore */
93
- ...(ngDevMode ? [{ debugName: "showsSideOverlayBackdrop" }] : /* istanbul ignore next */ []));
94
- showsFilterOverlayBackdrop = computed(() => this.hasFilter() && this.filterMode() === 'overlay' && this.page.filterOpen(), /* @ts-ignore */
95
- ...(ngDevMode ? [{ debugName: "showsFilterOverlayBackdrop" }] : /* istanbul ignore next */ []));
96
- showsOverlayBackdrop = computed(() => this.showsSideOverlayBackdrop() || this.showsFilterOverlayBackdrop(), /* @ts-ignore */
97
- ...(ngDevMode ? [{ debugName: "showsOverlayBackdrop" }] : /* istanbul ignore next */ []));
98
- /** Signal data untuk id yang dipilih; di-recompute hanya saat `appsNavId` berubah. */
99
- appsNavSource = computed(() => this.navigation?.data(this.appsNavId()) ?? null, /* @ts-ignore */
100
- ...(ngDevMode ? [{ debugName: "appsNavSource" }] : /* istanbul ignore next */ []));
101
- appsNavData = computed(() => this.appsNavSource()?.() ?? [], /* @ts-ignore */
102
- ...(ngDevMode ? [{ debugName: "appsNavData" }] : /* istanbul ignore next */ []));
103
- /** Apps-launcher hanya muncul di layout `empty`, saat diaktifkan, dan saat nav target punya data. */
104
- showsAppsLauncher = computed(() => this.appsLauncher() && this.layout?.type() === 'empty' && this.appsNavData().length > 0, /* @ts-ignore */
105
- ...(ngDevMode ? [{ debugName: "showsAppsLauncher" }] : /* istanbul ignore next */ []));
106
- /**
107
- * Host `<Navigation>` launcher di-absolute ke pojok kanan-atas (hanya membungkus tombol trigger;
108
- * panel flyout tetap membentang selebar `Page` lewat pengukuran container). Saat ada `PageHeader`,
109
- * tombol menyatu di dalam pita header (offset rapat); tanpa header, mengambang di atas konten.
110
- */
111
- appsLauncherHostClass = computed(() => cn('absolute z-30 h-auto w-auto', this.projectedHeader() ? 'right-2 top-1.5' : 'right-3 top-3'), /* @ts-ignore */
112
- ...(ngDevMode ? [{ debugName: "appsLauncherHostClass" }] : /* istanbul ignore next */ []));
113
- /** Appearance flyout mengikuti layout (seperti shell flyout); fallback ke appearance `Page`. */
114
- appsLauncherAppearance = computed(() => this.layout?.appearance() ?? this.appearance(), /* @ts-ignore */
115
- ...(ngDevMode ? [{ debugName: "appsLauncherAppearance" }] : /* istanbul ignore next */ []));
116
- /** Brand/user untuk header & footer flyout — sama seperti shell flyout; `null` saat tak ada shell. */
117
- appsBrand = computed(() => this.identity?.brand() ?? null, /* @ts-ignore */
118
- ...(ngDevMode ? [{ debugName: "appsBrand" }] : /* istanbul ignore next */ []));
119
- appsUser = computed(() => this.identity?.user() ?? null, /* @ts-ignore */
120
- ...(ngDevMode ? [{ debugName: "appsUser" }] : /* istanbul ignore next */ []));
121
- hostClasses = computed(() => cn('relative block h-full min-h-0 w-full min-w-0 overflow-hidden text-foreground', this.class()), /* @ts-ignore */
122
- ...(ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []));
123
- shellClasses = computed(() => cn('relative z-10 h-full min-h-0 w-full min-w-0', this.scroll() === 'content' && 'grid grid-rows-[auto_minmax(0,1fr)_auto]', this.scroll() === 'page' && 'overflow-auto'), /* @ts-ignore */
124
- ...(ngDevMode ? [{ debugName: "shellClasses" }] : /* istanbul ignore next */ []));
125
- bodyClasses = computed(() => {
126
- if (this.variant() !== 'side') {
127
- return cn('relative min-w-0', this.scroll() === 'content' && 'min-h-0');
128
- }
129
- const sideMode = this.resolvedSideMode();
130
- const position = this.resolvedPosition();
131
- if (sideMode === 'sticky') {
132
- return cn('grid min-w-0', this.scroll() === 'content' && 'min-h-0', position === 'left'
133
- ? 'grid-cols-[var(--page-side-width)_minmax(0,1fr)]'
134
- : 'grid-cols-[minmax(0,1fr)_var(--page-side-width)]');
135
- }
136
- return cn('relative min-w-0', this.scroll() === 'content' && 'min-h-0');
137
- }, /* @ts-ignore */
138
- ...(ngDevMode ? [{ debugName: "bodyClasses" }] : /* istanbul ignore next */ []));
139
- /**
140
- * Wrapper di sekitar `PageFilter` + `PageContent`. Tanpa filter, memakai `display: contents`
141
- * agar transparan (perilaku body lama dipertahankan persis). Dengan filter, menjadi grid/flex
142
- * yang menata filter (baris untuk `stacked`, kolom untuk `side`); drawer/overlay menjadikannya
143
- * `relative` sebagai positioning context untuk panel yang mengambang.
144
- */
145
- contentRegionClasses = computed(() => {
146
- if (!this.hasFilter()) {
147
- return 'contents';
148
- }
149
- const scroll = this.scroll();
150
- const mode = this.filterMode();
151
- // drawer/overlay (side only): content mengisi penuh, filter mengambang di atasnya.
152
- if (mode !== 'sticky') {
153
- return cn('relative min-w-0', scroll === 'content' && 'min-h-0 h-full');
154
- }
155
- if (this.filterPlacement() === 'stacked') {
156
- // content scroll: filter (auto) di atas, content (1fr) mengisi sisa tinggi & scroll sendiri.
157
- // page scroll: aliran block biasa; filter dipin via `sticky top-0` pada elemennya.
158
- return scroll === 'content'
159
- ? 'grid min-w-0 min-h-0 h-full grid-rows-[auto_minmax(0,1fr)]'
160
- : 'block min-w-0';
161
- }
162
- // side + sticky: filter sebagai kolom; posisi kanan dibalik via `order-last` pada elemen filter.
163
- return cn('grid min-w-0', scroll === 'content' && 'min-h-0 h-full', this.filterPosition() === 'left'
164
- ? 'grid-cols-[var(--page-filter-width)_minmax(0,1fr)]'
165
- : 'grid-cols-[minmax(0,1fr)_var(--page-filter-width)]');
166
- }, /* @ts-ignore */
167
- ...(ngDevMode ? [{ debugName: "contentRegionClasses" }] : /* istanbul ignore next */ []));
168
- constructor() {
169
- effect(() => {
170
- this.page.registerRoot({
171
- variant: this.variant(),
172
- height: this.height(),
173
- scroll: this.scroll(),
174
- appearance: this.appearance(),
175
- position: this.position(),
176
- sideMode: this.sideMode(),
177
- sideWidth: this.sideWidth(),
178
- });
179
- });
180
- effect(() => {
181
- this.page.setControlledSideOpen(this.sideOpen());
182
- });
183
- effect(() => {
184
- this.page.setControlledFilterOpen(this.filterOpen());
185
- });
186
- // Header memesan ruang kanan hanya saat tombol apps benar-benar mengambang di atas header.
187
- effect(() => {
188
- this.page.setAppsLauncherReserve(this.showsAppsLauncher() && this.projectedHeader() !== undefined);
189
- });
190
- effect(() => {
191
- const requestVersion = this.page.sideOpenRequestVersion();
192
- if (requestVersion === 0) {
193
- return;
194
- }
195
- this.sideOpenChange.emit(this.page.sideOpenRequest() ?? false);
196
- });
197
- effect(() => {
198
- const requestVersion = this.page.filterOpenRequestVersion();
199
- if (requestVersion === 0) {
200
- return;
201
- }
202
- this.filterOpenChange.emit(this.page.filterOpenRequest() ?? false);
203
- });
204
- }
205
- handleBackdropClick() {
206
- if (this.showsSideOverlayBackdrop()) {
207
- this.page.closeSide();
208
- }
209
- if (this.showsFilterOverlayBackdrop()) {
210
- this.page.closeFilter();
211
- }
212
- }
213
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
214
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: PageComponent, isStandalone: true, selector: "Page", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, sideMode: { classPropertyName: "sideMode", publicName: "sideMode", isSignal: true, isRequired: false, transformFunction: null }, sideOpen: { classPropertyName: "sideOpen", publicName: "sideOpen", isSignal: true, isRequired: false, transformFunction: null }, sideWidth: { classPropertyName: "sideWidth", publicName: "sideWidth", isSignal: true, isRequired: false, transformFunction: null }, filterOpen: { classPropertyName: "filterOpen", publicName: "filterOpen", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, appsLauncher: { classPropertyName: "appsLauncher", publicName: "appsLauncher", isSignal: true, isRequired: false, transformFunction: null }, appsNavId: { classPropertyName: "appsNavId", publicName: "appsNavId", isSignal: true, isRequired: false, transformFunction: null }, appsIcon: { classPropertyName: "appsIcon", publicName: "appsIcon", isSignal: true, isRequired: false, transformFunction: null }, appsLabel: { classPropertyName: "appsLabel", publicName: "appsLabel", isSignal: true, isRequired: false, transformFunction: null }, overlayCloseLabel: { classPropertyName: "overlayCloseLabel", publicName: "overlayCloseLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sideOpenChange: "sideOpenChange", filterOpenChange: "filterOpenChange" }, host: { attributes: { "data-page-root": "" }, properties: { "class": "hostClasses()", "attr.data-page-variant": "variant()", "attr.data-page-height": "height()", "attr.data-page-scroll": "scroll()", "attr.data-page-appearance": "appearance()", "attr.data-page-position": "resolvedPosition()", "attr.data-page-side-mode": "resolvedSideMode()", "attr.data-page-side-open": "page.sideOpen()", "attr.data-page-filter-placement": "hasFilter() ? filterPlacement() : null", "attr.data-page-filter-mode": "hasFilter() ? filterMode() : null", "attr.data-page-filter-open": "hasFilter() ? page.filterOpen() : null", "style.--page-side-width": "sideWidth()", "style.--page-filter-width": "filterWidthVar()" } }, providers: [PageStateService], queries: [{ propertyName: "projectedSide", first: true, predicate: PageSideComponent, descendants: true, isSignal: true }, { propertyName: "projectedHeader", first: true, predicate: PageHeaderComponent, descendants: true, isSignal: true }, { propertyName: "projectedFilter", first: true, predicate: PageFilterComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
27
+ var PageComponent = class PageComponent {
28
+ page = inject(PageStateService);
29
+ layout = inject(LayoutService, { optional: true });
30
+ navigation = inject(NAVIGATION_ADAPTER, { optional: true });
31
+ identity = inject(LayoutIdentityService, { optional: true });
32
+ projectedSide = contentChild(PageSideComponent, ...ngDevMode ? [{ debugName: "projectedSide" }] : /* istanbul ignore next */ []);
33
+ projectedHeader = contentChild(PageHeaderComponent, ...ngDevMode ? [{ debugName: "projectedHeader" }] : /* istanbul ignore next */ []);
34
+ projectedFilter = contentChild(PageFilterComponent, ...ngDevMode ? [{ debugName: "projectedFilter" }] : /* istanbul ignore next */ []);
35
+ projectedOverview = contentChild(PageOverviewComponent, ...ngDevMode ? [{ debugName: "projectedOverview" }] : /* istanbul ignore next */ []);
36
+ variant = input(PAGE_DEFAULT_VARIANT, ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
37
+ height = input(PAGE_DEFAULT_HEIGHT, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
38
+ scroll = input(PAGE_DEFAULT_SCROLL, ...ngDevMode ? [{ debugName: "scroll" }] : /* istanbul ignore next */ []);
39
+ appearance = input(PAGE_DEFAULT_APPEARANCE, ...ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []);
40
+ position = input(PAGE_DEFAULT_SIDE_POSITION, ...ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []);
41
+ sideMode = input(PAGE_DEFAULT_SIDE_MODE, ...ngDevMode ? [{ debugName: "sideMode" }] : /* istanbul ignore next */ []);
42
+ sideOpen = input(null, ...ngDevMode ? [{ debugName: "sideOpen" }] : /* istanbul ignore next */ []);
43
+ sideWidth = input(PAGE_DEFAULT_SIDE_WIDTH, ...ngDevMode ? [{ debugName: "sideWidth" }] : /* istanbul ignore next */ []);
44
+ filterOpen = input(null, ...ngDevMode ? [{ debugName: "filterOpen" }] : /* istanbul ignore next */ []);
45
+ class = input("", ...ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []);
46
+ sideOpenChange = output();
47
+ filterOpenChange = output();
48
+ appsLauncher = input(true, {
49
+ ...ngDevMode ? { debugName: "appsLauncher" } : /* istanbul ignore next */ {},
50
+ transform: booleanAttribute
51
+ });
52
+ appsNavId = input("main", ...ngDevMode ? [{ debugName: "appsNavId" }] : /* istanbul ignore next */ []);
53
+ appsIcon = input("apps", ...ngDevMode ? [{ debugName: "appsIcon" }] : /* istanbul ignore next */ []);
54
+ appsLabel = input("Open navigation", ...ngDevMode ? [{ debugName: "appsLabel" }] : /* istanbul ignore next */ []);
55
+ overlayCloseLabel = input("Close overlay panel", ...ngDevMode ? [{ debugName: "overlayCloseLabel" }] : /* istanbul ignore next */ []);
56
+ launcherNavId = `__page-apps-${pageAppsLauncherInstanceId += 1}`;
57
+ resolvedPosition = computed(() => this.projectedSide()?.position() ?? this.position(), ...ngDevMode ? [{ debugName: "resolvedPosition" }] : /* istanbul ignore next */ []);
58
+ resolvedSideMode = computed(() => this.projectedSide()?.mode() ?? this.sideMode(), ...ngDevMode ? [{ debugName: "resolvedSideMode" }] : /* istanbul ignore next */ []);
59
+ isLeftSide = computed(() => this.resolvedPosition() === "left", ...ngDevMode ? [{ debugName: "isLeftSide" }] : /* istanbul ignore next */ []);
60
+ isRightSide = computed(() => this.resolvedPosition() === "right", ...ngDevMode ? [{ debugName: "isRightSide" }] : /* istanbul ignore next */ []);
61
+ hasFilter = computed(() => this.projectedFilter() !== void 0, ...ngDevMode ? [{ debugName: "hasFilter" }] : /* istanbul ignore next */ []);
62
+ filterPlacement = computed(() => this.projectedFilter()?.placement() ?? this.page.filterPlacement() ?? PAGE_DEFAULT_FILTER_PLACEMENT, ...ngDevMode ? [{ debugName: "filterPlacement" }] : /* istanbul ignore next */ []);
63
+ filterMode = computed(() => this.filterPlacement() === "stacked" ? "sticky" : this.projectedFilter()?.mode() ?? this.page.filterMode(), ...ngDevMode ? [{ debugName: "filterMode" }] : /* istanbul ignore next */ []);
64
+ filterPosition = computed(() => this.projectedFilter()?.position() ?? this.page.filterPosition(), ...ngDevMode ? [{ debugName: "filterPosition" }] : /* istanbul ignore next */ []);
65
+ filterWidthVar = computed(() => this.projectedFilter()?.width() ?? this.page.filterWidth() ?? PAGE_DEFAULT_FILTER_WIDTH, ...ngDevMode ? [{ debugName: "filterWidthVar" }] : /* istanbul ignore next */ []);
66
+ hasOverview = computed(() => this.projectedOverview() !== void 0, ...ngDevMode ? [{ debugName: "hasOverview" }] : /* istanbul ignore next */ []);
67
+ showsSideOverlayBackdrop = computed(() => this.variant() === "side" && this.resolvedSideMode() === "overlay" && this.page.sideOpen(), ...ngDevMode ? [{ debugName: "showsSideOverlayBackdrop" }] : /* istanbul ignore next */ []);
68
+ showsFilterOverlayBackdrop = computed(() => this.hasFilter() && this.filterMode() === "overlay" && this.page.filterOpen(), ...ngDevMode ? [{ debugName: "showsFilterOverlayBackdrop" }] : /* istanbul ignore next */ []);
69
+ showsOverlayBackdrop = computed(() => this.showsSideOverlayBackdrop() || this.showsFilterOverlayBackdrop(), ...ngDevMode ? [{ debugName: "showsOverlayBackdrop" }] : /* istanbul ignore next */ []);
70
+ appsNavSource = computed(() => this.navigation?.data(this.appsNavId()) ?? null, ...ngDevMode ? [{ debugName: "appsNavSource" }] : /* istanbul ignore next */ []);
71
+ appsNavData = computed(() => this.appsNavSource()?.() ?? [], ...ngDevMode ? [{ debugName: "appsNavData" }] : /* istanbul ignore next */ []);
72
+ showsAppsLauncher = computed(() => this.appsLauncher() && this.layout?.type() === "empty" && this.appsNavData().length > 0, ...ngDevMode ? [{ debugName: "showsAppsLauncher" }] : /* istanbul ignore next */ []);
73
+ appsLauncherHostClass = computed(() => cn("absolute z-30 h-auto w-auto", this.projectedHeader() ? "right-2 top-1.5" : "right-3 top-3"), ...ngDevMode ? [{ debugName: "appsLauncherHostClass" }] : /* istanbul ignore next */ []);
74
+ appsLauncherAppearance = computed(() => this.layout?.appearance() ?? this.appearance(), ...ngDevMode ? [{ debugName: "appsLauncherAppearance" }] : /* istanbul ignore next */ []);
75
+ appsBrand = computed(() => this.identity?.brand() ?? null, ...ngDevMode ? [{ debugName: "appsBrand" }] : /* istanbul ignore next */ []);
76
+ appsUser = computed(() => this.identity?.user() ?? null, ...ngDevMode ? [{ debugName: "appsUser" }] : /* istanbul ignore next */ []);
77
+ hostClasses = computed(() => cn("relative block h-full min-h-0 w-full min-w-0 overflow-hidden text-foreground", this.class()), ...ngDevMode ? [{ debugName: "hostClasses" }] : /* istanbul ignore next */ []);
78
+ shellClasses = computed(() => cn("relative z-10 h-full min-h-0 w-full min-w-0", this.scroll() === "content" && "grid grid-rows-[auto_minmax(0,1fr)_auto]", this.scroll() === "page" && "overflow-auto"), ...ngDevMode ? [{ debugName: "shellClasses" }] : /* istanbul ignore next */ []);
79
+ bodyClasses = computed(() => {
80
+ if (this.variant() !== "side") return cn("relative min-w-0", this.scroll() === "content" && "min-h-0");
81
+ const sideMode = this.resolvedSideMode();
82
+ const position = this.resolvedPosition();
83
+ if (sideMode === "sticky") return cn("grid min-w-0", this.scroll() === "content" && "min-h-0", position === "left" ? "grid-cols-[var(--page-side-width)_minmax(0,1fr)]" : "grid-cols-[minmax(0,1fr)_var(--page-side-width)]");
84
+ return cn("relative min-w-0", this.scroll() === "content" && "min-h-0");
85
+ }, ...ngDevMode ? [{ debugName: "bodyClasses" }] : /* istanbul ignore next */ []);
86
+ contentRegionClasses = computed(() => {
87
+ if (this.hasOverview()) return this.overviewRegionClasses();
88
+ if (!this.hasFilter()) return "contents";
89
+ const scroll = this.scroll();
90
+ if (this.filterMode() !== "sticky") return cn("relative min-w-0", scroll === "content" && "min-h-0 h-full");
91
+ if (this.filterPlacement() === "stacked") return scroll === "content" ? "grid min-w-0 min-h-0 h-full grid-rows-[auto_minmax(0,1fr)]" : "block min-w-0";
92
+ return cn("grid min-w-0", scroll === "content" && "min-h-0 h-full", this.filterPosition() === "left" ? "grid-cols-[var(--page-filter-width)_minmax(0,1fr)]" : "grid-cols-[minmax(0,1fr)_var(--page-filter-width)]");
93
+ }, ...ngDevMode ? [{ debugName: "contentRegionClasses" }] : /* istanbul ignore next */ []);
94
+ overviewRegionClasses() {
95
+ const scroll = this.scroll();
96
+ const fill = scroll === "content" && "min-h-0 h-full";
97
+ if (!this.hasFilter() || this.filterPlacement() === "stacked") return scroll === "content" ? cn("grid min-w-0", fill, OVERVIEW_STACKED_ROWS) : "block min-w-0";
98
+ if (this.filterMode() !== "sticky") return cn("relative grid min-w-0", fill, OVERVIEW_ROWS);
99
+ const left = this.filterPosition() === "left";
100
+ return cn("grid min-w-0", fill, OVERVIEW_ROWS, "[&>[data-page-slot=filter]]:row-[1/span_2]", left ? "grid-cols-[var(--page-filter-width)_minmax(0,1fr)] [&>[data-page-slot=filter]]:col-start-1 [&>:not([data-page-slot=filter])]:col-start-2" : "grid-cols-[minmax(0,1fr)_var(--page-filter-width)] [&>[data-page-slot=filter]]:col-start-2 [&>:not([data-page-slot=filter])]:col-start-1");
101
+ }
102
+ constructor() {
103
+ effect(() => {
104
+ this.page.registerRoot({
105
+ variant: this.variant(),
106
+ height: this.height(),
107
+ scroll: this.scroll(),
108
+ appearance: this.appearance(),
109
+ position: this.position(),
110
+ sideMode: this.sideMode(),
111
+ sideWidth: this.sideWidth()
112
+ });
113
+ });
114
+ effect(() => {
115
+ this.page.setControlledSideOpen(this.sideOpen());
116
+ });
117
+ effect(() => {
118
+ this.page.setControlledFilterOpen(this.filterOpen());
119
+ });
120
+ effect(() => {
121
+ this.page.setAppsLauncherReserve(this.showsAppsLauncher() && this.projectedHeader() !== void 0);
122
+ });
123
+ effect(() => {
124
+ if (this.page.sideOpenRequestVersion() === 0) return;
125
+ this.sideOpenChange.emit(this.page.sideOpenRequest() ?? false);
126
+ });
127
+ effect(() => {
128
+ if (this.page.filterOpenRequestVersion() === 0) return;
129
+ this.filterOpenChange.emit(this.page.filterOpenRequest() ?? false);
130
+ });
131
+ }
132
+ handleBackdropClick() {
133
+ if (this.showsSideOverlayBackdrop()) this.page.closeSide();
134
+ if (this.showsFilterOverlayBackdrop()) this.page.closeFilter();
135
+ }
136
+ static ɵfac = i0.ɵɵngDeclareFactory({
137
+ minVersion: "12.0.0",
138
+ version: "22.2.0",
139
+ ngImport: i0,
140
+ type: PageComponent,
141
+ deps: [],
142
+ target: i0.ɵɵFactoryTarget.Component
143
+ });
144
+ static ɵcmp = i0.ɵɵngDeclareComponent({
145
+ minVersion: "17.0.0",
146
+ version: "22.2.0",
147
+ type: PageComponent,
148
+ isStandalone: true,
149
+ selector: "Page",
150
+ inputs: {
151
+ variant: {
152
+ classPropertyName: "variant",
153
+ publicName: "variant",
154
+ isSignal: true,
155
+ isRequired: false,
156
+ transformFunction: null
157
+ },
158
+ height: {
159
+ classPropertyName: "height",
160
+ publicName: "height",
161
+ isSignal: true,
162
+ isRequired: false,
163
+ transformFunction: null
164
+ },
165
+ scroll: {
166
+ classPropertyName: "scroll",
167
+ publicName: "scroll",
168
+ isSignal: true,
169
+ isRequired: false,
170
+ transformFunction: null
171
+ },
172
+ appearance: {
173
+ classPropertyName: "appearance",
174
+ publicName: "appearance",
175
+ isSignal: true,
176
+ isRequired: false,
177
+ transformFunction: null
178
+ },
179
+ position: {
180
+ classPropertyName: "position",
181
+ publicName: "position",
182
+ isSignal: true,
183
+ isRequired: false,
184
+ transformFunction: null
185
+ },
186
+ sideMode: {
187
+ classPropertyName: "sideMode",
188
+ publicName: "sideMode",
189
+ isSignal: true,
190
+ isRequired: false,
191
+ transformFunction: null
192
+ },
193
+ sideOpen: {
194
+ classPropertyName: "sideOpen",
195
+ publicName: "sideOpen",
196
+ isSignal: true,
197
+ isRequired: false,
198
+ transformFunction: null
199
+ },
200
+ sideWidth: {
201
+ classPropertyName: "sideWidth",
202
+ publicName: "sideWidth",
203
+ isSignal: true,
204
+ isRequired: false,
205
+ transformFunction: null
206
+ },
207
+ filterOpen: {
208
+ classPropertyName: "filterOpen",
209
+ publicName: "filterOpen",
210
+ isSignal: true,
211
+ isRequired: false,
212
+ transformFunction: null
213
+ },
214
+ class: {
215
+ classPropertyName: "class",
216
+ publicName: "class",
217
+ isSignal: true,
218
+ isRequired: false,
219
+ transformFunction: null
220
+ },
221
+ appsLauncher: {
222
+ classPropertyName: "appsLauncher",
223
+ publicName: "appsLauncher",
224
+ isSignal: true,
225
+ isRequired: false,
226
+ transformFunction: null
227
+ },
228
+ appsNavId: {
229
+ classPropertyName: "appsNavId",
230
+ publicName: "appsNavId",
231
+ isSignal: true,
232
+ isRequired: false,
233
+ transformFunction: null
234
+ },
235
+ appsIcon: {
236
+ classPropertyName: "appsIcon",
237
+ publicName: "appsIcon",
238
+ isSignal: true,
239
+ isRequired: false,
240
+ transformFunction: null
241
+ },
242
+ appsLabel: {
243
+ classPropertyName: "appsLabel",
244
+ publicName: "appsLabel",
245
+ isSignal: true,
246
+ isRequired: false,
247
+ transformFunction: null
248
+ },
249
+ overlayCloseLabel: {
250
+ classPropertyName: "overlayCloseLabel",
251
+ publicName: "overlayCloseLabel",
252
+ isSignal: true,
253
+ isRequired: false,
254
+ transformFunction: null
255
+ }
256
+ },
257
+ outputs: {
258
+ sideOpenChange: "sideOpenChange",
259
+ filterOpenChange: "filterOpenChange"
260
+ },
261
+ host: {
262
+ attributes: { "data-page-root": "" },
263
+ properties: {
264
+ "class": "hostClasses()",
265
+ "attr.data-page-variant": "variant()",
266
+ "attr.data-page-height": "height()",
267
+ "attr.data-page-scroll": "scroll()",
268
+ "attr.data-page-appearance": "appearance()",
269
+ "attr.data-page-position": "resolvedPosition()",
270
+ "attr.data-page-side-mode": "resolvedSideMode()",
271
+ "attr.data-page-side-open": "page.sideOpen()",
272
+ "attr.data-page-filter-placement": "hasFilter() ? filterPlacement() : null",
273
+ "attr.data-page-filter-mode": "hasFilter() ? filterMode() : null",
274
+ "attr.data-page-filter-open": "hasFilter() ? page.filterOpen() : null",
275
+ "attr.data-page-overview": "hasOverview() ? \"\" : null",
276
+ "style.--page-side-width": "sideWidth()",
277
+ "style.--page-filter-width": "filterWidthVar()"
278
+ }
279
+ },
280
+ providers: [PageStateService],
281
+ queries: [
282
+ {
283
+ propertyName: "projectedSide",
284
+ first: true,
285
+ predicate: PageSideComponent,
286
+ descendants: true,
287
+ isSignal: true
288
+ },
289
+ {
290
+ propertyName: "projectedHeader",
291
+ first: true,
292
+ predicate: PageHeaderComponent,
293
+ descendants: true,
294
+ isSignal: true
295
+ },
296
+ {
297
+ propertyName: "projectedFilter",
298
+ first: true,
299
+ predicate: PageFilterComponent,
300
+ descendants: true,
301
+ isSignal: true
302
+ },
303
+ {
304
+ propertyName: "projectedOverview",
305
+ first: true,
306
+ predicate: PageOverviewComponent,
307
+ descendants: true,
308
+ isSignal: true
309
+ }
310
+ ],
311
+ ngImport: i0,
312
+ template: `
215
313
  @if (showsOverlayBackdrop()) {
216
314
  <button
217
315
  type="button"
@@ -233,6 +331,7 @@ class PageComponent {
233
331
 
234
332
  <div [class]="contentRegionClasses()" data-page-content-region>
235
333
  <ng-content select="PageFilter" />
334
+ <ng-content select="PageOverview" />
236
335
  <ng-content select="PageContent, PageDashboard" />
237
336
  </div>
238
337
  </div>
@@ -267,38 +366,117 @@ class PageComponent {
267
366
  </NavigationFlyout>
268
367
  </Navigation>
269
368
  }
270
- `, isInline: true, dependencies: [{ kind: "component", type: NavigationContainerComponent, selector: "Navigation", inputs: ["id", "data-id", "data", "ariaLabel", "compact", "collapse-tree", "class", "itemClass", "nav-group-class", "activeIds", "activeUrl", "openedIds"], outputs: ["openedIdsChange", "itemSelected"] }, { kind: "component", type: NavigationFlyoutComponent, selector: "NavigationFlyout", inputs: ["label", "icon", "icon-only", "icon-position", "trigger-variant", "trigger-floating", "panel-viewport", "trigger-class", "trigger-button-class", "nav-position", "nav-type-style", "class"] }, { kind: "component", type: NavigationHeaderComponent, selector: "NavigationHeader", inputs: ["toggle", "class"] }, { kind: "component", type: NavigationFooterComponent, selector: "NavigationFooter", inputs: ["class"] }, { kind: "component", type: LayoutBrand, selector: "LayoutBrand", inputs: ["brand", "compact"] }, { kind: "component", type: LayoutUser, selector: "LayoutUser", inputs: ["user", "detailed", "logoutLabel", "logoutIcon"], outputs: ["logout"] }] });
271
- }
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: PageComponent, decorators: [{
273
- type: Component,
274
- args: [{
275
- selector: 'Page',
276
- providers: [PageStateService],
277
- imports: [
278
- NavigationContainerComponent,
279
- NavigationFlyoutComponent,
280
- NavigationHeaderComponent,
281
- NavigationFooterComponent,
282
- LayoutBrand,
283
- LayoutUser,
284
- ],
285
- host: {
286
- '[class]': 'hostClasses()',
287
- 'data-page-root': '',
288
- '[attr.data-page-variant]': 'variant()',
289
- '[attr.data-page-height]': 'height()',
290
- '[attr.data-page-scroll]': 'scroll()',
291
- '[attr.data-page-appearance]': 'appearance()',
292
- '[attr.data-page-position]': 'resolvedPosition()',
293
- '[attr.data-page-side-mode]': 'resolvedSideMode()',
294
- '[attr.data-page-side-open]': 'page.sideOpen()',
295
- '[attr.data-page-filter-placement]': 'hasFilter() ? filterPlacement() : null',
296
- '[attr.data-page-filter-mode]': 'hasFilter() ? filterMode() : null',
297
- '[attr.data-page-filter-open]': 'hasFilter() ? page.filterOpen() : null',
298
- '[style.--page-side-width]': 'sideWidth()',
299
- '[style.--page-filter-width]': 'filterWidthVar()',
300
- },
301
- template: `
369
+ `,
370
+ isInline: true,
371
+ dependencies: [
372
+ {
373
+ kind: "component",
374
+ type: NavigationContainerComponent,
375
+ selector: "Navigation",
376
+ inputs: [
377
+ "id",
378
+ "data-id",
379
+ "data",
380
+ "ariaLabel",
381
+ "compact",
382
+ "collapse-tree",
383
+ "class",
384
+ "itemClass",
385
+ "nav-group-class",
386
+ "activeIds",
387
+ "activeUrl",
388
+ "openedIds"
389
+ ],
390
+ outputs: ["openedIdsChange", "itemSelected"]
391
+ },
392
+ {
393
+ kind: "component",
394
+ type: NavigationFlyoutComponent,
395
+ selector: "NavigationFlyout",
396
+ inputs: [
397
+ "label",
398
+ "icon",
399
+ "icon-only",
400
+ "icon-position",
401
+ "trigger-variant",
402
+ "trigger-floating",
403
+ "panel-viewport",
404
+ "trigger-class",
405
+ "trigger-button-class",
406
+ "nav-position",
407
+ "nav-type-style",
408
+ "class"
409
+ ]
410
+ },
411
+ {
412
+ kind: "component",
413
+ type: NavigationHeaderComponent,
414
+ selector: "NavigationHeader",
415
+ inputs: ["toggle", "class"]
416
+ },
417
+ {
418
+ kind: "component",
419
+ type: NavigationFooterComponent,
420
+ selector: "NavigationFooter",
421
+ inputs: ["class"]
422
+ },
423
+ {
424
+ kind: "component",
425
+ type: LayoutBrand,
426
+ selector: "LayoutBrand",
427
+ inputs: ["brand", "compact"]
428
+ },
429
+ {
430
+ kind: "component",
431
+ type: LayoutUser,
432
+ selector: "LayoutUser",
433
+ inputs: [
434
+ "user",
435
+ "detailed",
436
+ "logoutLabel",
437
+ "logoutIcon"
438
+ ],
439
+ outputs: ["logout"]
440
+ }
441
+ ]
442
+ });
443
+ };
444
+ i0.ɵɵngDeclareClassMetadata({
445
+ minVersion: "12.0.0",
446
+ version: "22.2.0",
447
+ ngImport: i0,
448
+ type: PageComponent,
449
+ decorators: [{
450
+ type: Component,
451
+ args: [{
452
+ selector: "Page",
453
+ providers: [PageStateService],
454
+ imports: [
455
+ NavigationContainerComponent,
456
+ NavigationFlyoutComponent,
457
+ NavigationHeaderComponent,
458
+ NavigationFooterComponent,
459
+ LayoutBrand,
460
+ LayoutUser
461
+ ],
462
+ host: {
463
+ "[class]": "hostClasses()",
464
+ "data-page-root": "",
465
+ "[attr.data-page-variant]": "variant()",
466
+ "[attr.data-page-height]": "height()",
467
+ "[attr.data-page-scroll]": "scroll()",
468
+ "[attr.data-page-appearance]": "appearance()",
469
+ "[attr.data-page-position]": "resolvedPosition()",
470
+ "[attr.data-page-side-mode]": "resolvedSideMode()",
471
+ "[attr.data-page-side-open]": "page.sideOpen()",
472
+ "[attr.data-page-filter-placement]": "hasFilter() ? filterPlacement() : null",
473
+ "[attr.data-page-filter-mode]": "hasFilter() ? filterMode() : null",
474
+ "[attr.data-page-filter-open]": "hasFilter() ? page.filterOpen() : null",
475
+ "[attr.data-page-overview]": "hasOverview() ? \"\" : null",
476
+ "[style.--page-side-width]": "sideWidth()",
477
+ "[style.--page-filter-width]": "filterWidthVar()"
478
+ },
479
+ template: `
302
480
  @if (showsOverlayBackdrop()) {
303
481
  <button
304
482
  type="button"
@@ -320,6 +498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
320
498
 
321
499
  <div [class]="contentRegionClasses()" data-page-content-region>
322
500
  <ng-content select="PageFilter" />
501
+ <ng-content select="PageOverview" />
323
502
  <ng-content select="PageContent, PageDashboard" />
324
503
  </div>
325
504
  </div>
@@ -354,12 +533,155 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImpor
354
533
  </NavigationFlyout>
355
534
  </Navigation>
356
535
  }
357
- `,
358
- }]
359
- }], ctorParameters: () => [], propDecorators: { projectedSide: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PageSideComponent), { isSignal: true }] }], projectedHeader: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PageHeaderComponent), { isSignal: true }] }], projectedFilter: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PageFilterComponent), { isSignal: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], scroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], sideMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideMode", required: false }] }], sideOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideOpen", required: false }] }], sideWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideWidth", required: false }] }], filterOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterOpen", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], sideOpenChange: [{ type: i0.Output, args: ["sideOpenChange"] }], filterOpenChange: [{ type: i0.Output, args: ["filterOpenChange"] }], appsLauncher: [{ type: i0.Input, args: [{ isSignal: true, alias: "appsLauncher", required: false }] }], appsNavId: [{ type: i0.Input, args: [{ isSignal: true, alias: "appsNavId", required: false }] }], appsIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "appsIcon", required: false }] }], appsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "appsLabel", required: false }] }], overlayCloseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "overlayCloseLabel", required: false }] }] } });
360
-
361
- /**
362
- * Generated bundle index. Do not edit.
363
- */
364
-
365
- export { PageComponent };
536
+ `
537
+ }]
538
+ }],
539
+ ctorParameters: () => [],
540
+ propDecorators: {
541
+ projectedSide: [{
542
+ type: i0.ContentChild,
543
+ args: [i0.forwardRef(() => PageSideComponent), { isSignal: true }]
544
+ }],
545
+ projectedHeader: [{
546
+ type: i0.ContentChild,
547
+ args: [i0.forwardRef(() => PageHeaderComponent), { isSignal: true }]
548
+ }],
549
+ projectedFilter: [{
550
+ type: i0.ContentChild,
551
+ args: [i0.forwardRef(() => PageFilterComponent), { isSignal: true }]
552
+ }],
553
+ projectedOverview: [{
554
+ type: i0.ContentChild,
555
+ args: [i0.forwardRef(() => PageOverviewComponent), { isSignal: true }]
556
+ }],
557
+ variant: [{
558
+ type: i0.Input,
559
+ args: [{
560
+ isSignal: true,
561
+ alias: "variant",
562
+ required: false
563
+ }]
564
+ }],
565
+ height: [{
566
+ type: i0.Input,
567
+ args: [{
568
+ isSignal: true,
569
+ alias: "height",
570
+ required: false
571
+ }]
572
+ }],
573
+ scroll: [{
574
+ type: i0.Input,
575
+ args: [{
576
+ isSignal: true,
577
+ alias: "scroll",
578
+ required: false
579
+ }]
580
+ }],
581
+ appearance: [{
582
+ type: i0.Input,
583
+ args: [{
584
+ isSignal: true,
585
+ alias: "appearance",
586
+ required: false
587
+ }]
588
+ }],
589
+ position: [{
590
+ type: i0.Input,
591
+ args: [{
592
+ isSignal: true,
593
+ alias: "position",
594
+ required: false
595
+ }]
596
+ }],
597
+ sideMode: [{
598
+ type: i0.Input,
599
+ args: [{
600
+ isSignal: true,
601
+ alias: "sideMode",
602
+ required: false
603
+ }]
604
+ }],
605
+ sideOpen: [{
606
+ type: i0.Input,
607
+ args: [{
608
+ isSignal: true,
609
+ alias: "sideOpen",
610
+ required: false
611
+ }]
612
+ }],
613
+ sideWidth: [{
614
+ type: i0.Input,
615
+ args: [{
616
+ isSignal: true,
617
+ alias: "sideWidth",
618
+ required: false
619
+ }]
620
+ }],
621
+ filterOpen: [{
622
+ type: i0.Input,
623
+ args: [{
624
+ isSignal: true,
625
+ alias: "filterOpen",
626
+ required: false
627
+ }]
628
+ }],
629
+ class: [{
630
+ type: i0.Input,
631
+ args: [{
632
+ isSignal: true,
633
+ alias: "class",
634
+ required: false
635
+ }]
636
+ }],
637
+ sideOpenChange: [{
638
+ type: i0.Output,
639
+ args: ["sideOpenChange"]
640
+ }],
641
+ filterOpenChange: [{
642
+ type: i0.Output,
643
+ args: ["filterOpenChange"]
644
+ }],
645
+ appsLauncher: [{
646
+ type: i0.Input,
647
+ args: [{
648
+ isSignal: true,
649
+ alias: "appsLauncher",
650
+ required: false
651
+ }]
652
+ }],
653
+ appsNavId: [{
654
+ type: i0.Input,
655
+ args: [{
656
+ isSignal: true,
657
+ alias: "appsNavId",
658
+ required: false
659
+ }]
660
+ }],
661
+ appsIcon: [{
662
+ type: i0.Input,
663
+ args: [{
664
+ isSignal: true,
665
+ alias: "appsIcon",
666
+ required: false
667
+ }]
668
+ }],
669
+ appsLabel: [{
670
+ type: i0.Input,
671
+ args: [{
672
+ isSignal: true,
673
+ alias: "appsLabel",
674
+ required: false
675
+ }]
676
+ }],
677
+ overlayCloseLabel: [{
678
+ type: i0.Input,
679
+ args: [{
680
+ isSignal: true,
681
+ alias: "overlayCloseLabel",
682
+ required: false
683
+ }]
684
+ }]
685
+ }
686
+ });
687
+ export { PageComponent };