@taon-dev/ui 21.0.3 → 21.0.5

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 (191) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +2 -2
  2. package/browser/fesm2022/ui-browser-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs +15 -0
  3. package/browser/fesm2022/ui-browser-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs.map +1 -0
  4. package/browser/fesm2022/ui-browser-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs +15 -0
  5. package/browser/fesm2022/ui-browser-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs.map +1 -0
  6. package/browser/fesm2022/ui-browser.mjs +1123 -155
  7. package/browser/fesm2022/ui-browser.mjs.map +1 -1
  8. package/browser/package.json +1 -1
  9. package/browser/types/ui-browser.d.ts +252 -38
  10. package/browser-prod/fesm2022/ui-browser-prod-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs +15 -0
  11. package/browser-prod/fesm2022/ui-browser-prod-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs.map +1 -0
  12. package/browser-prod/fesm2022/ui-browser-prod-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs +15 -0
  13. package/browser-prod/fesm2022/ui-browser-prod-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs.map +1 -0
  14. package/browser-prod/fesm2022/ui-browser-prod.mjs +1129 -155
  15. package/browser-prod/fesm2022/ui-browser-prod.mjs.map +1 -1
  16. package/browser-prod/package.json +1 -1
  17. package/browser-prod/types/ui-browser-prod.d.ts +248 -38
  18. package/html/app/main/main.container.html +6 -0
  19. package/html/app/main/routes/session/tracking/tracking.component.html +7 -4
  20. package/html/assets/generated/pwa/html-pwa.html +53 -53
  21. package/html/lib/taon-admin-layout/taon-admin-layout.component.html +74 -57
  22. package/html/lib/taon-backoffice-notifications/taon-backoffice-notifications.component.html +3 -0
  23. package/html/lib/taon-backoffice-notifications/taon-error-details-dialog.component.html +36 -0
  24. package/html/lib/taon-confirm-dialog/taon-confirm-dialog.component.html +34 -0
  25. package/html/lib/taon-datatable/taon-datatable.component.html +161 -0
  26. package/html/lib/taon-draggable-button-panel/taon-draggable-button-panel.component.html +49 -62
  27. package/lib/build-info._auto-generated_.d.ts +1 -1
  28. package/lib/build-info._auto-generated_.js +1 -1
  29. package/lib/directives/taon-horizontal-wheel-scrolling.directive.d.ts +13 -0
  30. package/lib/env/env.angular-node-app.js.map +1 -1
  31. package/lib/env/env.docs-webapp.js.map +1 -1
  32. package/lib/env/env.electron-app.js.map +1 -1
  33. package/lib/env/env.mobile-app.js.map +1 -1
  34. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  35. package/lib/env/env.vscode-plugin.js.map +1 -1
  36. package/lib/index._auto-generated_.d.ts +13 -1
  37. package/lib/index._auto-generated_.js +13 -1
  38. package/lib/index._auto-generated_.js.map +1 -1
  39. package/lib/my-organization-proj.js +1 -2
  40. package/lib/my-organization-proj.js.map +1 -1
  41. package/lib/package.json +1 -1
  42. package/lib/taon-admin-layout/index.js +2 -2
  43. package/lib/taon-admin-layout/taon-admin-layout.component.d.ts +36 -32
  44. package/lib/taon-admin-layout/taon-admin-layout.models.d.ts +13 -1
  45. package/lib/taon-admin-layout/taon-admin-layout.models.js +13 -2
  46. package/lib/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  47. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.d.ts +15 -0
  48. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js +15 -0
  49. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js.map +1 -0
  50. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.d.ts +15 -0
  51. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js +15 -0
  52. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js.map +1 -0
  53. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.d.ts +4 -0
  54. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js +5 -0
  55. package/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js.map +1 -0
  56. package/lib/taon-backoffice-notifications/index.d.ts +4 -0
  57. package/lib/taon-backoffice-notifications/index.js +24 -0
  58. package/lib/taon-backoffice-notifications/index.js.map +1 -0
  59. package/lib/taon-backoffice-notifications/taon-backoffice-notifications.component.d.ts +10 -0
  60. package/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.d.ts +11 -0
  61. package/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.js +3 -0
  62. package/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.js.map +1 -0
  63. package/lib/taon-backoffice-notifications/taon-backoffice-notifications.service.d.ts +9 -0
  64. package/lib/taon-backoffice-notifications/taon-error-details-dialog.component.d.ts +24 -0
  65. package/lib/taon-backoffice-notifications/taon-error-toast.component.d.ts +10 -0
  66. package/lib/taon-confirm-dialog/taon-confirm-dialog.component.d.ts +12 -0
  67. package/lib/taon-confirm-dialog/taon-confirm-dialog.models.d.ts +1 -0
  68. package/lib/taon-confirm-dialog/taon-confirm-dialog.models.js +3 -0
  69. package/lib/taon-confirm-dialog/taon-confirm-dialog.models.js.map +1 -0
  70. package/lib/taon-datatable/index.d.ts +1 -0
  71. package/lib/taon-datatable/index.js +5 -0
  72. package/lib/taon-datatable/index.js.map +1 -0
  73. package/lib/taon-datatable/taon-datatable.component.d.ts +63 -0
  74. package/lib/taon-datatable/taon-datatable.models.d.ts +1 -0
  75. package/lib/taon-datatable/taon-datatable.models.js +3 -0
  76. package/lib/taon-datatable/taon-datatable.models.js.map +1 -0
  77. package/lib/taon-datatable/taon-datatable.routes.d.ts +7 -0
  78. package/lib/taon-draggable-button-panel/index.js +2 -2
  79. package/lib/taon-draggable-button-panel/taon-draggable-button-panel.component.d.ts +5 -0
  80. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  81. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  82. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -1
  83. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -1
  84. package/lib-esm/lib/env/env.electron-app.js.map +1 -1
  85. package/lib-esm/lib/env/env.mobile-app.js.map +1 -1
  86. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  87. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -1
  88. package/lib-esm/lib/index._auto-generated_.d.ts +4 -0
  89. package/lib-esm/lib/index._auto-generated_.js +13 -1
  90. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  91. package/lib-esm/lib/my-organization-proj.js +1 -2
  92. package/lib-esm/lib/my-organization-proj.js.map +1 -1
  93. package/lib-esm/lib/taon-admin-layout/index.d.ts +1 -1
  94. package/lib-esm/lib/taon-admin-layout/index.js +1 -1
  95. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.d.ts +13 -1
  96. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.js +11 -1
  97. package/lib-esm/lib/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  98. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.d.ts +15 -0
  99. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js +13 -0
  100. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js.map +1 -0
  101. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.d.ts +15 -0
  102. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js +13 -0
  103. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js.map +1 -0
  104. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.d.ts +4 -0
  105. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js +4 -0
  106. package/lib-esm/lib/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js.map +1 -0
  107. package/lib-esm/lib/taon-backoffice-notifications/index.d.ts +1 -0
  108. package/lib-esm/lib/taon-backoffice-notifications/index.js +8 -0
  109. package/lib-esm/lib/taon-backoffice-notifications/index.js.map +1 -0
  110. package/lib-esm/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.d.ts +11 -0
  111. package/lib-esm/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.js +2 -0
  112. package/lib-esm/lib/taon-backoffice-notifications/taon-backoffice-notifications.models.js.map +1 -0
  113. package/lib-esm/lib/taon-confirm-dialog/taon-confirm-dialog.models.d.ts +1 -0
  114. package/lib-esm/lib/taon-confirm-dialog/taon-confirm-dialog.models.js +2 -0
  115. package/lib-esm/lib/taon-confirm-dialog/taon-confirm-dialog.models.js.map +1 -0
  116. package/lib-esm/lib/taon-datatable/index.d.ts +1 -0
  117. package/lib-esm/lib/taon-datatable/index.js +2 -0
  118. package/lib-esm/lib/taon-datatable/index.js.map +1 -0
  119. package/lib-esm/lib/taon-datatable/taon-datatable.models.d.ts +1 -0
  120. package/lib-esm/lib/taon-datatable/taon-datatable.models.js +2 -0
  121. package/lib-esm/lib/taon-datatable/taon-datatable.models.js.map +1 -0
  122. package/lib-esm/lib/taon-draggable-button-panel/index.d.ts +1 -1
  123. package/lib-esm/lib/taon-draggable-button-panel/index.js +1 -1
  124. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  125. package/lib-prod/build-info._auto-generated_.js +1 -1
  126. package/lib-prod/env/env.angular-node-app.js.map +1 -1
  127. package/lib-prod/env/env.docs-webapp.js.map +1 -1
  128. package/lib-prod/env/env.electron-app.js.map +1 -1
  129. package/lib-prod/env/env.mobile-app.js.map +1 -1
  130. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
  131. package/lib-prod/env/env.vscode-plugin.js.map +1 -1
  132. package/lib-prod/index._auto-generated_.d.ts +4 -0
  133. package/lib-prod/index._auto-generated_.js +13 -1
  134. package/lib-prod/index._auto-generated_.js.map +1 -1
  135. package/lib-prod/my-organization-proj.js +1 -2
  136. package/lib-prod/my-organization-proj.js.map +1 -1
  137. package/lib-prod/package.json +1 -1
  138. package/lib-prod/taon-admin-layout/index.d.ts +1 -1
  139. package/lib-prod/taon-admin-layout/index.js +1 -1
  140. package/lib-prod/taon-admin-layout/taon-admin-layout.models.d.ts +13 -1
  141. package/lib-prod/taon-admin-layout/taon-admin-layout.models.js +11 -1
  142. package/lib-prod/taon-admin-layout/taon-admin-layout.models.js.map +1 -1
  143. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.d.ts +15 -0
  144. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js +13 -0
  145. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.en-US.i18n.data.js.map +1 -0
  146. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.d.ts +15 -0
  147. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js +13 -0
  148. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.component.ts.pl-PL.i18n.data.js.map +1 -0
  149. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.d.ts +4 -0
  150. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js +4 -0
  151. package/lib-prod/taon-backoffice-notifications/i18n/taon-backoffice-notifications.translation.js.map +1 -0
  152. package/lib-prod/taon-backoffice-notifications/index.d.ts +1 -0
  153. package/lib-prod/taon-backoffice-notifications/index.js +8 -0
  154. package/lib-prod/taon-backoffice-notifications/index.js.map +1 -0
  155. package/lib-prod/taon-backoffice-notifications/taon-backoffice-notifications.models.d.ts +11 -0
  156. package/lib-prod/taon-backoffice-notifications/taon-backoffice-notifications.models.js +2 -0
  157. package/lib-prod/taon-backoffice-notifications/taon-backoffice-notifications.models.js.map +1 -0
  158. package/lib-prod/taon-confirm-dialog/taon-confirm-dialog.models.d.ts +0 -0
  159. package/lib-prod/taon-confirm-dialog/taon-confirm-dialog.models.js +3 -0
  160. package/lib-prod/taon-confirm-dialog/taon-confirm-dialog.models.js.map +1 -0
  161. package/lib-prod/taon-datatable/index.d.ts +1 -0
  162. package/lib-prod/taon-datatable/index.js +2 -0
  163. package/lib-prod/taon-datatable/index.js.map +1 -0
  164. package/lib-prod/taon-datatable/taon-datatable.models.d.ts +0 -0
  165. package/lib-prod/taon-datatable/taon-datatable.models.js +3 -0
  166. package/lib-prod/taon-datatable/taon-datatable.models.js.map +1 -0
  167. package/lib-prod/taon-draggable-button-panel/index.d.ts +1 -1
  168. package/lib-prod/taon-draggable-button-panel/index.js +1 -1
  169. package/package.json +1 -1
  170. package/scss/lib/taon-admin-layout/taon-admin-layout.component.scss +282 -26
  171. package/scss/lib/taon-backoffice-notifications/taon-backoffice-notifications.component.scss +3 -0
  172. package/scss/lib/taon-backoffice-notifications/taon-error-details-dialog.component.scss +62 -0
  173. package/scss/lib/taon-confirm-dialog/taon-confirm-dialog.component.scss +3 -0
  174. package/scss/lib/taon-datatable/taon-datatable.component.scss +11 -0
  175. package/scss/lib/taon-draggable-button-panel/taon-draggable-button-panel.component.scss +3 -3
  176. package/websql/fesm2022/ui-websql-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs +15 -0
  177. package/websql/fesm2022/ui-websql-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs.map +1 -0
  178. package/websql/fesm2022/ui-websql-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs +15 -0
  179. package/websql/fesm2022/ui-websql-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs.map +1 -0
  180. package/websql/fesm2022/ui-websql.mjs +1123 -155
  181. package/websql/fesm2022/ui-websql.mjs.map +1 -1
  182. package/websql/package.json +1 -1
  183. package/websql/types/ui-websql.d.ts +252 -38
  184. package/websql-prod/fesm2022/ui-websql-prod-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs +15 -0
  185. package/websql-prod/fesm2022/ui-websql-prod-taon-backoffice-notifications.component.ts.en-US.i18n.data-DdHr5V8R.mjs.map +1 -0
  186. package/websql-prod/fesm2022/ui-websql-prod-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs +15 -0
  187. package/websql-prod/fesm2022/ui-websql-prod-taon-backoffice-notifications.component.ts.pl-PL.i18n.data-CD5ZqDCD.mjs.map +1 -0
  188. package/websql-prod/fesm2022/ui-websql-prod.mjs +1129 -155
  189. package/websql-prod/fesm2022/ui-websql-prod.mjs.map +1 -1
  190. package/websql-prod/package.json +1 -1
  191. package/websql-prod/types/ui-websql-prod.d.ts +248 -38
@@ -1,60 +1,60 @@
1
- <link rel="icon" type="image/x-icon" href="/assets/assets-for/ui/assets/generated/pwa/favicon.ico">
2
- <link rel="icon" type="image/png" sizes="16x16" href="/assets/assets-for/ui/assets/generated/pwa/favicon-16x16.png">
3
- <link rel="icon" type="image/png" sizes="32x32" href="/assets/assets-for/ui/assets/generated/pwa/favicon-32x32.png">
4
- <link rel="icon" type="image/png" sizes="48x48" href="/assets/assets-for/ui/assets/generated/pwa/favicon-48x48.png">
5
- <link rel="manifest" href="/assets/assets-for/ui/assets/generated/pwa/manifest.webmanifest">
1
+ <link rel="icon" type="image/x-icon" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon.ico">
2
+ <link rel="icon" type="image/png" sizes="16x16" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-16x16.png">
3
+ <link rel="icon" type="image/png" sizes="32x32" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-32x32.png">
4
+ <link rel="icon" type="image/png" sizes="48x48" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/favicon-48x48.png">
5
+ <link rel="manifest" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/manifest.webmanifest">
6
6
  <meta name="mobile-web-app-capable" content="yes">
7
7
  <meta name="theme-color" content="#fff">
8
8
  <meta name="application-name">
9
- <link rel="apple-touch-icon" sizes="57x57" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-57x57.png">
10
- <link rel="apple-touch-icon" sizes="60x60" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-60x60.png">
11
- <link rel="apple-touch-icon" sizes="72x72" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-72x72.png">
12
- <link rel="apple-touch-icon" sizes="76x76" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-76x76.png">
13
- <link rel="apple-touch-icon" sizes="114x114" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-114x114.png">
14
- <link rel="apple-touch-icon" sizes="120x120" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-120x120.png">
15
- <link rel="apple-touch-icon" sizes="144x144" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-144x144.png">
16
- <link rel="apple-touch-icon" sizes="152x152" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-152x152.png">
17
- <link rel="apple-touch-icon" sizes="167x167" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-167x167.png">
18
- <link rel="apple-touch-icon" sizes="180x180" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-180x180.png">
19
- <link rel="apple-touch-icon" sizes="1024x1024" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-icon-1024x1024.png">
9
+ <link rel="apple-touch-icon" sizes="57x57" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-57x57.png">
10
+ <link rel="apple-touch-icon" sizes="60x60" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-60x60.png">
11
+ <link rel="apple-touch-icon" sizes="72x72" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-72x72.png">
12
+ <link rel="apple-touch-icon" sizes="76x76" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-76x76.png">
13
+ <link rel="apple-touch-icon" sizes="114x114" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-114x114.png">
14
+ <link rel="apple-touch-icon" sizes="120x120" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-120x120.png">
15
+ <link rel="apple-touch-icon" sizes="144x144" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-144x144.png">
16
+ <link rel="apple-touch-icon" sizes="152x152" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-152x152.png">
17
+ <link rel="apple-touch-icon" sizes="167x167" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-167x167.png">
18
+ <link rel="apple-touch-icon" sizes="180x180" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-180x180.png">
19
+ <link rel="apple-touch-icon" sizes="1024x1024" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-icon-1024x1024.png">
20
20
  <meta name="apple-mobile-web-app-capable" content="yes">
21
21
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
22
22
  <meta name="apple-mobile-web-app-title">
23
- <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-640x1136.png">
24
- <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1136x640.png">
25
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-750x1334.png">
26
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1334x750.png">
27
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1125x2436.png">
28
- <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2436x1125.png">
29
- <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1170x2532.png">
30
- <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2532x1170.png">
31
- <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1179x2556.png">
32
- <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2556x1179.png">
33
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-828x1792.png">
34
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1792x828.png">
35
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1242x2688.png">
36
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2688x1242.png">
37
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1242x2208.png">
38
- <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2208x1242.png">
39
- <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1284x2778.png">
40
- <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2778x1284.png">
41
- <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1290x2796.png">
42
- <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2796x1290.png">
43
- <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1488x2266.png">
44
- <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2266x1488.png">
45
- <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1536x2048.png">
46
- <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2048x1536.png">
47
- <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1620x2160.png">
48
- <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2160x1620.png">
49
- <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1640x2160.png">
50
- <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2160x1640.png">
51
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1668x2388.png">
52
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2388x1668.png">
53
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-1668x2224.png">
54
- <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2224x1668.png">
55
- <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2048x2732.png">
56
- <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/ui/assets/generated/pwa/apple-touch-startup-image-2732x2048.png">
23
+ <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-640x1136.png">
24
+ <link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1136x640.png">
25
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-750x1334.png">
26
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1334x750.png">
27
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1125x2436.png">
28
+ <link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2436x1125.png">
29
+ <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1170x2532.png">
30
+ <link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2532x1170.png">
31
+ <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1179x2556.png">
32
+ <link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2556x1179.png">
33
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-828x1792.png">
34
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1792x828.png">
35
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1242x2688.png">
36
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2688x1242.png">
37
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1242x2208.png">
38
+ <link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2208x1242.png">
39
+ <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1284x2778.png">
40
+ <link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2778x1284.png">
41
+ <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1290x2796.png">
42
+ <link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2796x1290.png">
43
+ <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1488x2266.png">
44
+ <link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2266x1488.png">
45
+ <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1536x2048.png">
46
+ <link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2048x1536.png">
47
+ <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1620x2160.png">
48
+ <link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2160x1620.png">
49
+ <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1640x2160.png">
50
+ <link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2160x1640.png">
51
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1668x2388.png">
52
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2388x1668.png">
53
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-1668x2224.png">
54
+ <link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2224x1668.png">
55
+ <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2048x2732.png">
56
+ <link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/apple-touch-startup-image-2732x2048.png">
57
57
  <meta name="msapplication-TileColor" content="#fff">
58
- <meta name="msapplication-TileImage" content="/assets/assets-for/ui/assets/generated/pwa/mstile-144x144.png">
59
- <meta name="msapplication-config" content="/assets/assets-for/ui/assets/generated/pwa/browserconfig.xml">
60
- <link rel="yandex-tableau-widget" href="/assets/assets-for/ui/assets/generated/pwa/yandex-browser-manifest.json">
58
+ <meta name="msapplication-TileImage" content="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/mstile-144x144.png">
59
+ <meta name="msapplication-config" content="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/browserconfig.xml">
60
+ <link rel="yandex-tableau-widget" href="/assets/assets-for/@taon-dev/ui/assets/generated/pwa/yandex-browser-manifest.json">
@@ -1,21 +1,24 @@
1
- <div class="flex h-dvh min-h-0 flex-col overflow-hidden">
1
+ <div
2
+ #layout
3
+ class="admin-layout"
4
+ [class.admin-layout-dialog]="isDialogMode"
5
+ [style.width.px]="layoutWidth() || null"
6
+ [style.height.px]="layoutHeight() || null">
2
7
  <!-- ============================================================= -->
3
8
  <!-- HEADER -->
4
9
  <!-- ============================================================= -->
5
10
 
6
- <header
7
- class="flex h-16 shrink-0 items-center border-b border-gray-200 bg-white">
8
- <!-- hamburger ALWAYS visible -->
11
+ <header class="admin-header">
9
12
  <button
10
13
  mat-icon-button
11
14
  type="button"
12
15
  aria-label="Toggle admin menu"
13
- class="mx-2 shrink-0 cursor-pointer"
16
+ class="admin-menu-button"
14
17
  (click)="toggleAside()">
15
18
  <mat-icon>menu</mat-icon>
16
19
  </button>
17
20
 
18
- <div class="min-w-0 flex-1">
21
+ <div class="admin-header-content">
19
22
  <ng-content select="[header]" />
20
23
  </div>
21
24
  </header>
@@ -24,14 +27,14 @@
24
27
  <!-- BODY -->
25
28
  <!-- ============================================================= -->
26
29
 
27
- <div class="relative flex min-h-0 flex-1 overflow-hidden">
30
+ <div class="admin-body">
28
31
  <!-- =========================================================== -->
29
32
  <!-- MOBILE BACKDROP -->
30
33
  <!-- =========================================================== -->
31
34
 
32
35
  @if (asideOpened()) {
33
36
  <div
34
- class="absolute inset-0 z-20 bg-black/30 md:hidden"
37
+ class="admin-aside-backdrop"
35
38
  (click)="closeAside()"></div>
36
39
  }
37
40
 
@@ -40,74 +43,69 @@
40
43
  <!-- =========================================================== -->
41
44
 
42
45
  <aside
43
- class="absolute inset-y-0 left-0 z-30 flex min-h-0 flex-col border-r border-gray-200 bg-white transition-[width,transform] duration-200 md:relative md:inset-auto md:z-auto md:translate-x-0"
44
- [class.w-72]="asideOpened()"
45
- [class.-translate-x-full]="!asideOpened()"
46
- [class.translate-x-0]="asideOpened()"
47
- [class.md:w-72]="asideOpened()"
48
- [class.md:w-0]="!asideOpened()"
49
- [class.md:overflow-hidden]="!asideOpened()">
46
+ class="admin-aside"
47
+ [class.admin-aside-open]="asideOpened()">
50
48
  <!-- ========================================================= -->
51
49
  <!-- SCROLLABLE ASIDE CONTENT -->
52
50
  <!-- ========================================================= -->
53
51
 
54
- <div class="min-h-0 flex-1 overflow-y-auto">
52
+ <div class="admin-aside-content">
55
53
  <mat-accordion class="admin-menu">
56
54
  @for (level1 of routes; track level1.path) {
57
- <!-- =================================================== -->
58
- <!-- EXPANDABLE LEVEL 1 -->
59
- <!-- =================================================== -->
60
-
61
55
  @if (isExpandable(level1)) {
62
56
  <mat-expansion-panel
63
57
  [expanded]="isLevel1Active(level1)"
64
58
  (expandedChange)="panelExpanded(level1, $event)">
65
- <!-- ================================================= -->
66
- <!-- LEVEL 1 -->
67
- <!-- ================================================= -->
68
-
69
59
  <mat-expansion-panel-header (click)="level1Clicked(level1)">
70
60
  <mat-panel-title>
71
- <div class="flex items-center gap-3">
61
+ <div class="admin-menu-item">
72
62
  @if (icon(level1)) {
73
- <mat-icon>
63
+ <mat-icon
64
+ [ngStyle]="{
65
+ color: color(level1),
66
+ }">
74
67
  {{ icon(level1) }}
75
68
  </mat-icon>
76
69
  }
77
70
 
78
- <span [class.font-semibold]="isLevel1Active(level1)">
71
+ <span
72
+ [class.font-semibold]="isLevel1Active(level1)"
73
+ [ngStyle]="{
74
+ color: color(level1),
75
+ }">
79
76
  {{ label(level1) }}
80
77
  </span>
81
78
  </div>
82
79
  </mat-panel-title>
83
80
  </mat-expansion-panel-header>
84
81
 
85
- <!-- ================================================= -->
86
- <!-- LEVEL 2 -->
87
- <!-- ================================================= -->
88
-
89
- <div class="flex flex-col">
82
+ <div class="admin-level2">
90
83
  @if (isLoading(level1)) {
91
- <div class="px-4 py-2 text-sm text-gray-400">
92
- Loading...
93
- </div>
84
+ <div class="admin-loading">Loading...</div>
94
85
  } @else {
95
86
  @for (
96
87
  level2 of getLevel2Routes(level1);
97
88
  track level2.path
98
89
  ) {
99
90
  <a
100
- (click)="level2Clicked(level1, level2)"
101
- class="flex cursor-pointer items-center gap-3 px-6 py-2.5 text-sm transition-colors hover:bg-gray-100"
102
- [class.bg-gray-100]="isLevel2Active(level1, level2)"
103
- [class.font-semibold]="isLevel2Active(level1, level2)">
91
+ class="admin-level2-item"
92
+ [class.admin-level2-item-active]="
93
+ isLevel2Active(level1, level2)
94
+ "
95
+ (click)="level2Clicked(level1, level2)">
104
96
  @if (icon(level2)) {
105
- <mat-icon>
97
+ <mat-icon
98
+ [ngStyle]="{
99
+ color: color(level2),
100
+ }">
106
101
  {{ icon(level2) }}
107
102
  </mat-icon>
108
103
  }
109
104
 
110
- <span>
105
+ <span
106
+ [ngStyle]="{
107
+ color: color(level2),
108
+ }">
111
109
  {{ label(level2) }}
112
110
  </span>
113
111
  </a>
@@ -116,22 +114,23 @@
116
114
  </div>
117
115
  </mat-expansion-panel>
118
116
  } @else {
119
- <!-- ================================================= -->
120
- <!-- NON-EXPANDABLE LEVEL 1 -->
121
- <!-- ================================================= -->
122
-
123
117
  <a
124
- (click)="level1Clicked(level1)"
125
- class="flex h-14 cursor-pointer items-center gap-3 px-6 transition-colors hover:bg-gray-100"
126
- [class.bg-gray-100]="isLevel1Active(level1)"
127
- [class.font-semibold]="isLevel1Active(level1)">
118
+ class="admin-level1-item"
119
+ [class.admin-level1-item-active]="isLevel1Active(level1)"
120
+ (click)="level1Clicked(level1)">
128
121
  @if (icon(level1)) {
129
- <mat-icon>
122
+ <mat-icon
123
+ [ngStyle]="{
124
+ color: color(level1),
125
+ }">
130
126
  {{ icon(level1) }}
131
127
  </mat-icon>
132
128
  }
133
129
 
134
- <span>
130
+ <span
131
+ [ngStyle]="{
132
+ color: color(level1),
133
+ }">
135
134
  {{ label(level1) }}
136
135
  </span>
137
136
  </a>
@@ -141,10 +140,10 @@
141
140
  </div>
142
141
 
143
142
  <!-- ========================================================= -->
144
- <!-- ASIDE FOOTER - ALWAYS VISIBLE -->
143
+ <!-- ASIDE FOOTER -->
145
144
  <!-- ========================================================= -->
146
145
 
147
- <footer class="shrink-0 border-t border-gray-200 bg-white p-3">
146
+ <footer class="admin-aside-footer">
148
147
  <ng-content select="[asideFooter]" />
149
148
  </footer>
150
149
  </aside>
@@ -153,24 +152,42 @@
153
152
  <!-- MAIN -->
154
153
  <!-- =========================================================== -->
155
154
 
156
- <main class="flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden">
155
+ <main class="admin-main">
157
156
  <!-- ========================================================= -->
158
157
  <!-- LEVEL 3+ TABS -->
159
158
  <!-- ========================================================= -->
160
159
 
161
160
  <taon-admin-page-tabs
162
- class="shrink-0"
161
+ class="admin-tabs"
163
162
  [routes]="routes"
164
163
  [basePath]="basePath"
165
164
  [outlet]="outlet" />
166
165
 
167
166
  <!-- ========================================================= -->
168
- <!-- ROUTER CONTENT -->
167
+ <!-- SCROLLABLE CONTENT -->
169
168
  <!-- ========================================================= -->
170
169
 
171
- <div class="min-h-0 flex-1 overflow-y-auto p-4 md:p-6">
170
+ <div class="admin-content">
172
171
  <router-outlet />
173
172
  </div>
173
+
174
+ <!-- ========================================================= -->
175
+ <!-- CONTENT FOOTER -->
176
+ <!-- ========================================================= -->
177
+
178
+ <footer class="admin-content-footer">
179
+ <ng-content select="[contentFooter]" />
180
+ </footer>
174
181
  </main>
175
182
  </div>
183
+
184
+ <!-- ============================================================= -->
185
+ <!-- DIALOG RESIZE HANDLE -->
186
+ <!-- ============================================================= -->
187
+
188
+ @if (isDialogMode) {
189
+ <div
190
+ class="admin-resize-handle"
191
+ (pointerdown)="startResize($event)"></div>
192
+ }
176
193
  </div>
@@ -0,0 +1,3 @@
1
+ <!-- <p>
2
+ notyfications works!
3
+ </p> -->
@@ -0,0 +1,36 @@
1
+ <h2 mat-dialog-title>Error details</h2>
2
+
3
+ <mat-dialog-content>
4
+ <div class="error-message">
5
+ {{ data.message }}
6
+ </div>
7
+
8
+ <div class="editor-selector">
9
+ <span class="editor-selector-label"> I am using editor: </span>
10
+
11
+ <mat-button-toggle-group
12
+ [value]="editor"
13
+ (change)="setEditor($event.value)"
14
+ aria-label="Code editor">
15
+ <mat-button-toggle value="vscode"> VS Code </mat-button-toggle>
16
+
17
+ <mat-button-toggle value="vscodium"> VSCodium </mat-button-toggle>
18
+ </mat-button-toggle-group>
19
+ </div>
20
+
21
+ <pre
22
+ class="error-details"><code>@for (stackLine of stackLines; track $index) {
23
+ @if (stackLine.file) {<a
24
+ class="stack-link"
25
+ title="Open {{ stackLine.file }}:{{ stackLine.line }}:{{ stackLine.column }}"
26
+ (click)="openStackLine(stackLine)">{{ stackLine.text }}</a>} @else {{{ stackLine.text }}}{{ '\n' }}
27
+ }</code></pre>
28
+ </mat-dialog-content>
29
+
30
+ <mat-dialog-actions align="end">
31
+ <button
32
+ mat-button
33
+ mat-dialog-close>
34
+ Close
35
+ </button>
36
+ </mat-dialog-actions>
@@ -0,0 +1,34 @@
1
+ <div
2
+ class="flex min-w-[320px] max-w-[560px] flex-col gap-6 p-6 text-gray-900 dark:text-gray-100 sm:p-7">
3
+ <!-- Header -->
4
+ <h2 class="m-0 text-xl leading-snug font-medium sm:text-2xl">
5
+ {{ data.title }}
6
+ </h2>
7
+
8
+ <!-- Message -->
9
+ @if (data.message) {
10
+ <p
11
+ class="m-0 whitespace-pre-line text-base leading-relaxed text-gray-600 dark:text-gray-300 sm:text-lg">
12
+ {{ data.message }}
13
+ </p>
14
+ }
15
+
16
+ <!-- Actions -->
17
+ <div class="flex flex-wrap items-center justify-end gap-3">
18
+ <button
19
+ mat-button
20
+ type="button"
21
+ (click)="cancel()">
22
+ {{ data.cancelText || 'Cancel' }}
23
+ </button>
24
+
25
+ <button
26
+ mat-flat-button
27
+ color="primary"
28
+ type="button"
29
+ class="!rounded-full !px-6"
30
+ (click)="confirm()">
31
+ {{ data.confirmText || 'OK' }}
32
+ </button>
33
+ </div>
34
+ </div>
@@ -0,0 +1,161 @@
1
+ <div class="flex w-full flex-col gap-3">
2
+ <!-- #region toolbar -->
3
+ @if (!hideSearch) {
4
+ <div
5
+ class="flex w-full flex-col gap-2 rounded-lg border border-gray-200 bg-white p-3 shadow-sm dark:border-gray-700 dark:bg-gray-900 md:flex-row md:items-center">
6
+ <!-- global search -->
7
+ <mat-form-field
8
+ appearance="outline"
9
+ subscriptSizing="dynamic"
10
+ class="min-w-0 flex-1">
11
+ <mat-icon matPrefix> search </mat-icon>
12
+
13
+ <input
14
+ matInput
15
+ placeholder="Search..."
16
+ [value]="searchValue"
17
+ (input)="searchChanged($any($event.target).value)" />
18
+
19
+ @if (searchValue) {
20
+ <button
21
+ mat-icon-button
22
+ matSuffix
23
+ type="button"
24
+ (click)="clearSearch()">
25
+ <mat-icon>close</mat-icon>
26
+ </button>
27
+ }
28
+ </mat-form-field>
29
+
30
+ <!-- advanced search -->
31
+ @if (searchMode === 'advanced') {
32
+ <button
33
+ mat-stroked-button
34
+ type="button"
35
+ (click)="toggleAdvancedSearch()">
36
+ <mat-icon> tune </mat-icon>
37
+
38
+ Filters
39
+
40
+ @if (advancedSearchOpened) {
41
+ <mat-icon> expand_less </mat-icon>
42
+ } @else {
43
+ <mat-icon> expand_more </mat-icon>
44
+ }
45
+ </button>
46
+ }
47
+
48
+ <!-- refresh -->
49
+ <button
50
+ mat-icon-button
51
+ type="button"
52
+ title="Refresh"
53
+ (click)="reload()">
54
+ <mat-icon> refresh </mat-icon>
55
+ </button>
56
+
57
+ <!-- add -->
58
+ @if (!hideAddButton) {
59
+ <button
60
+ mat-flat-button
61
+ color="primary"
62
+ type="button"
63
+ (click)="addingItem.emit()">
64
+ <mat-icon> add </mat-icon>
65
+
66
+ Add
67
+ </button>
68
+ }
69
+ </div>
70
+ }
71
+ <!-- #endregion -->
72
+
73
+ <!-- #region advanced filters -->
74
+ @if (!hideSearch && searchMode === 'advanced' && advancedSearchOpened) {
75
+ <div
76
+ class="grid grid-cols-1 gap-3 rounded-lg border border-gray-200 bg-gray-50 p-4 shadow-sm dark:border-gray-700 dark:bg-gray-800 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
77
+ @for (column of filterableColumns; track column.field) {
78
+ <mat-form-field
79
+ appearance="outline"
80
+ subscriptSizing="dynamic"
81
+ class="w-full">
82
+ <mat-label>
83
+ {{ column.header }}
84
+ </mat-label>
85
+
86
+ <input
87
+ matInput
88
+ [(ngModel)]="columnFilters[$any(column.field)]"
89
+ (keyup.enter)="applyAdvancedFilters()" />
90
+ </mat-form-field>
91
+ }
92
+
93
+ <div
94
+ class="flex items-center justify-end gap-2 md:col-span-2 lg:col-span-3 xl:col-span-4">
95
+ <button
96
+ mat-button
97
+ type="button"
98
+ (click)="clearSearch()">
99
+ <mat-icon> filter_alt_off </mat-icon>
100
+
101
+ Clear
102
+ </button>
103
+
104
+ <button
105
+ mat-flat-button
106
+ color="primary"
107
+ type="button"
108
+ (click)="applyAdvancedFilters()">
109
+ <mat-icon> filter_alt </mat-icon>
110
+
111
+ Apply filters
112
+ </button>
113
+ </div>
114
+ </div>
115
+ }
116
+ <!-- #endregion -->
117
+
118
+ <!-- #region grid -->
119
+ <div
120
+ class="relative min-h-[250px] overflow-hidden rounded-lg border border-gray-200 bg-white shadow-sm dark:border-gray-700 dark:bg-gray-900">
121
+ @if (isLoading) {
122
+ <div
123
+ class="absolute inset-0 z-10 flex items-center justify-center bg-white/60 backdrop-blur-[1px] dark:bg-gray-900/60">
124
+ <div
125
+ class="flex items-center gap-2 rounded-md bg-white px-4 py-2 shadow dark:bg-gray-800">
126
+ <mat-icon class="animate-spin"> refresh </mat-icon>
127
+
128
+ Loading...
129
+ </div>
130
+ </div>
131
+ }
132
+
133
+ <mtx-grid
134
+ [data]="rows"
135
+ [columns]="columns"
136
+ [expandable]="expandable"
137
+ [expansionTemplate]="lazyExpansionTemplate"
138
+ [length]="totalElements"
139
+ [pageOnFront]="false"
140
+ [pageIndex]="pageNumber - 1"
141
+ [pageSize]="pageSize"
142
+ [pageSizeOptions]="pageSizeOptions"
143
+ [showPaginator]="showPaginator"
144
+ (expansionChange)="onExpansionChange($event)"
145
+ (page)="getNextPage($event)"
146
+ (sortChange)="sortChanged($event)">
147
+ </mtx-grid>
148
+
149
+ <ng-template
150
+ #lazyExpansionTemplate
151
+ let-row>
152
+ @if (isExpanded(row)) {
153
+ <ng-container
154
+ [ngTemplateOutlet]="expansionTemplate"
155
+ [ngTemplateOutletContext]="{ $implicit: row }">
156
+ </ng-container>
157
+ }
158
+ </ng-template>
159
+ </div>
160
+ <!-- #endregion -->
161
+ </div>