minerva-design 1.11.0 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/custom-elements.json +438 -7
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1124 -64
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +255 -26
  7. package/dist/core/calendar-date.d.cts +6 -0
  8. package/dist/core/calendar-date.d.ts +6 -0
  9. package/dist/core/contracts.cjs +1 -1
  10. package/dist/core/contracts.cjs.map +1 -1
  11. package/dist/core/contracts.js +1 -1
  12. package/dist/core/contracts.js.map +1 -1
  13. package/dist/core/index.cjs +6 -6
  14. package/dist/core/index.cjs.map +1 -1
  15. package/dist/core/index.js +788 -570
  16. package/dist/core/index.js.map +1 -1
  17. package/dist/core/styling-hooks/components/progress.d.cts +6 -3
  18. package/dist/core/styling-hooks/components/progress.d.ts +6 -3
  19. package/dist/core/styling-hooks/components/week-strip.d.cts +35 -0
  20. package/dist/core/styling-hooks/components/week-strip.d.ts +35 -0
  21. package/dist/core/styling-hooks/manifest.d.cts +40 -3
  22. package/dist/core/styling-hooks/manifest.d.ts +40 -3
  23. package/dist/core/styling-hooks.cjs +1 -1
  24. package/dist/core/styling-hooks.cjs.map +1 -1
  25. package/dist/core/styling-hooks.js +35 -2
  26. package/dist/core/styling-hooks.js.map +1 -1
  27. package/dist/core/theme/index.d.cts +1 -0
  28. package/dist/core/theme/index.d.ts +1 -0
  29. package/dist/core/theme/palette-accents.d.cts +8 -0
  30. package/dist/core/theme/palette-accents.d.ts +8 -0
  31. package/dist/core/tokens/brand.d.cts +86 -0
  32. package/dist/core/tokens/brand.d.ts +86 -0
  33. package/dist/core/tokens/index.d.cts +1 -0
  34. package/dist/core/tokens/index.d.ts +1 -0
  35. package/dist/core/tokens/resolve.d.cts +9 -1
  36. package/dist/core/tokens/resolve.d.ts +9 -1
  37. package/dist/dom/core-web.cjs +1 -1
  38. package/dist/dom/core-web.js +2 -2
  39. package/dist/dom/index.cjs +1 -1
  40. package/dist/dom/index.cjs.map +1 -1
  41. package/dist/dom/index.d.cts +1 -0
  42. package/dist/dom/index.d.ts +1 -0
  43. package/dist/dom/index.js +273 -264
  44. package/dist/dom/index.js.map +1 -1
  45. package/dist/dom/theme/primary-color.d.cts +29 -0
  46. package/dist/dom/theme/primary-color.d.ts +29 -0
  47. package/dist/icons/core.cjs +1 -1
  48. package/dist/icons/core.d.cts +1 -1
  49. package/dist/icons/core.d.ts +1 -1
  50. package/dist/icons/core.js +32 -32
  51. package/dist/icons/engine/icons/actions.cjs +1 -1
  52. package/dist/icons/engine/icons/actions.cjs.map +1 -1
  53. package/dist/icons/engine/icons/actions.d.cts +4 -0
  54. package/dist/icons/engine/icons/actions.d.ts +4 -0
  55. package/dist/icons/engine/icons/actions.js +84 -58
  56. package/dist/icons/engine/icons/actions.js.map +1 -1
  57. package/dist/icons/engine/icons/arrows.cjs +1 -1
  58. package/dist/icons/engine/icons/arrows.cjs.map +1 -1
  59. package/dist/icons/engine/icons/arrows.d.cts +2 -0
  60. package/dist/icons/engine/icons/arrows.d.ts +2 -0
  61. package/dist/icons/engine/icons/arrows.js +39 -24
  62. package/dist/icons/engine/icons/arrows.js.map +1 -1
  63. package/dist/icons/engine/icons/education.cjs +1 -1
  64. package/dist/icons/engine/icons/education.cjs.map +1 -1
  65. package/dist/icons/engine/icons/education.d.cts +2 -0
  66. package/dist/icons/engine/icons/education.d.ts +2 -0
  67. package/dist/icons/engine/icons/education.js +61 -42
  68. package/dist/icons/engine/icons/education.js.map +1 -1
  69. package/dist/icons/engine/icons/files.cjs +1 -1
  70. package/dist/icons/engine/icons/files.cjs.map +1 -1
  71. package/dist/icons/engine/icons/files.d.cts +8 -0
  72. package/dist/icons/engine/icons/files.d.ts +8 -0
  73. package/dist/icons/engine/icons/files.js +88 -26
  74. package/dist/icons/engine/icons/files.js.map +1 -1
  75. package/dist/icons/engine/icons/index.cjs +1 -1
  76. package/dist/icons/engine/icons/index.js +24 -24
  77. package/dist/icons/engine/icons/interface.cjs +1 -1
  78. package/dist/icons/engine/icons/interface.cjs.map +1 -1
  79. package/dist/icons/engine/icons/interface.d.cts +12 -0
  80. package/dist/icons/engine/icons/interface.d.ts +12 -0
  81. package/dist/icons/engine/icons/interface.js +168 -60
  82. package/dist/icons/engine/icons/interface.js.map +1 -1
  83. package/dist/icons/engine/icons/text.cjs +1 -1
  84. package/dist/icons/engine/icons/text.cjs.map +1 -1
  85. package/dist/icons/engine/icons/text.d.cts +2 -0
  86. package/dist/icons/engine/icons/text.d.ts +2 -0
  87. package/dist/icons/engine/icons/text.js +38 -10
  88. package/dist/icons/engine/icons/text.js.map +1 -1
  89. package/dist/icons/engine/icons/tools.cjs +1 -1
  90. package/dist/icons/engine/icons/tools.cjs.map +1 -1
  91. package/dist/icons/engine/icons/tools.d.cts +2 -0
  92. package/dist/icons/engine/icons/tools.d.ts +2 -0
  93. package/dist/icons/engine/icons/tools.js +25 -1
  94. package/dist/icons/engine/icons/tools.js.map +1 -1
  95. package/dist/icons/engine/svg.cjs +1 -1
  96. package/dist/icons/engine/svg.cjs.map +1 -1
  97. package/dist/icons/engine/svg.d.cts +10 -0
  98. package/dist/icons/engine/svg.d.ts +10 -0
  99. package/dist/icons/engine/svg.js +22 -1
  100. package/dist/icons/engine/svg.js.map +1 -1
  101. package/dist/icons/index.cjs +1 -1
  102. package/dist/icons/index.js +36 -36
  103. package/dist/icons/react/icons.cjs +1 -1
  104. package/dist/icons/react/icons.cjs.map +1 -1
  105. package/dist/icons/react/icons.d.cts +64 -0
  106. package/dist/icons/react/icons.d.ts +64 -0
  107. package/dist/icons/react/icons.js +25 -25
  108. package/dist/icons/react/icons.js.map +1 -1
  109. package/dist/native/_virtual/_rolldown/runtime.cjs +1 -0
  110. package/dist/native/components/WeekStrip/WeekStrip.cjs +2 -0
  111. package/dist/native/components/WeekStrip/WeekStrip.cjs.map +1 -0
  112. package/dist/native/components/WeekStrip/WeekStrip.d.cts +75 -0
  113. package/dist/native/components/WeekStrip/WeekStrip.d.ts +75 -0
  114. package/dist/native/components/WeekStrip/WeekStrip.js +205 -0
  115. package/dist/native/components/WeekStrip/WeekStrip.js.map +1 -0
  116. package/dist/native/components/WeekStrip/index.cjs +1 -0
  117. package/dist/native/components/WeekStrip/index.d.cts +1 -0
  118. package/dist/native/components/WeekStrip/index.d.ts +1 -0
  119. package/dist/native/components/WeekStrip/index.js +2 -0
  120. package/dist/native/icon/DynamicIcon.cjs +2 -0
  121. package/dist/native/icon/DynamicIcon.cjs.map +1 -0
  122. package/dist/native/icon/DynamicIcon.d.cts +7 -0
  123. package/dist/native/icon/DynamicIcon.d.ts +7 -0
  124. package/dist/native/icon/DynamicIcon.js +15 -0
  125. package/dist/native/icon/DynamicIcon.js.map +1 -0
  126. package/dist/native/icon/Icon.cjs +2 -0
  127. package/dist/native/icon/Icon.cjs.map +1 -0
  128. package/dist/native/icon/Icon.d.cts +7 -0
  129. package/dist/native/icon/Icon.d.ts +7 -0
  130. package/dist/native/icon/Icon.js +40 -0
  131. package/dist/native/icon/Icon.js.map +1 -0
  132. package/dist/native/icon/createIcon.cjs +2 -0
  133. package/dist/native/icon/createIcon.cjs.map +1 -0
  134. package/dist/native/icon/createIcon.d.cts +10 -0
  135. package/dist/native/icon/createIcon.d.ts +10 -0
  136. package/dist/native/icon/createIcon.js +17 -0
  137. package/dist/native/icon/createIcon.js.map +1 -0
  138. package/dist/native/icon/icons.cjs +2 -0
  139. package/dist/native/icon/icons.cjs.map +1 -0
  140. package/dist/native/icon/icons.d.cts +2060 -0
  141. package/dist/native/icon/icons.d.ts +2060 -0
  142. package/dist/native/icon/icons.js +8 -0
  143. package/dist/native/icon/icons.js.map +1 -0
  144. package/dist/native/icon/types.d.cts +23 -0
  145. package/dist/native/icon/types.d.ts +23 -0
  146. package/dist/native/icons.cjs +1 -0
  147. package/dist/native/icons.d.cts +6 -0
  148. package/dist/native/icons.d.ts +6 -0
  149. package/dist/native/icons.js +6 -0
  150. package/dist/native/index.cjs +1 -1
  151. package/dist/native/index.d.cts +1 -0
  152. package/dist/native/index.d.ts +1 -0
  153. package/dist/native/index.js +61 -59
  154. package/dist/native/source/components/WeekStrip/WeekStrip.tsx +404 -0
  155. package/dist/native/source/components/WeekStrip/index.ts +6 -0
  156. package/dist/native/source/icon/DynamicIcon.tsx +13 -0
  157. package/dist/native/source/icon/Icon.tsx +75 -0
  158. package/dist/native/source/icon/createIcon.tsx +18 -0
  159. package/dist/native/source/icon/icons.ts +694 -0
  160. package/dist/native/source/icon/types.ts +40 -0
  161. package/dist/native/source/icons.ts +12 -0
  162. package/dist/native/source/index.ts +1 -0
  163. package/dist/native/source/manifest.ts +1 -0
  164. package/dist/native/source/theme/MinervaProvider.tsx +40 -3
  165. package/dist/native/source/theme/types.ts +13 -0
  166. package/dist/native/theme/MinervaProvider.cjs +1 -1
  167. package/dist/native/theme/MinervaProvider.cjs.map +1 -1
  168. package/dist/native/theme/MinervaProvider.d.cts +4 -1
  169. package/dist/native/theme/MinervaProvider.d.ts +4 -1
  170. package/dist/native/theme/MinervaProvider.js +117 -100
  171. package/dist/native/theme/MinervaProvider.js.map +1 -1
  172. package/dist/native/theme/types.d.cts +13 -1
  173. package/dist/native/theme/types.d.ts +13 -1
  174. package/dist/react/components/ProgressIndicator/ProgressIndicator.cjs +1 -1
  175. package/dist/react/components/ProgressIndicator/ProgressIndicator.cjs.map +1 -1
  176. package/dist/react/components/ProgressIndicator/ProgressIndicator.d.cts +1 -1
  177. package/dist/react/components/ProgressIndicator/ProgressIndicator.d.ts +1 -1
  178. package/dist/react/components/ProgressIndicator/ProgressIndicator.js +69 -32
  179. package/dist/react/components/ProgressIndicator/ProgressIndicator.js.map +1 -1
  180. package/dist/react/components/ProgressIndicator/index.d.cts +2 -2
  181. package/dist/react/components/ProgressIndicator/index.d.ts +2 -2
  182. package/dist/react/components/ProgressIndicator/progressIndicator.module.scss.cjs +1 -1
  183. package/dist/react/components/ProgressIndicator/progressIndicator.module.scss.cjs.map +1 -1
  184. package/dist/react/components/ProgressIndicator/progressIndicator.module.scss.js +29 -20
  185. package/dist/react/components/ProgressIndicator/progressIndicator.module.scss.js.map +1 -1
  186. package/dist/react/components/ProgressIndicator/types.d.cts +33 -5
  187. package/dist/react/components/ProgressIndicator/types.d.ts +33 -5
  188. package/dist/react/components/WeekStrip/WeekStrip.cjs +2 -0
  189. package/dist/react/components/WeekStrip/WeekStrip.cjs.map +1 -0
  190. package/dist/react/components/WeekStrip/WeekStrip.d.cts +14 -0
  191. package/dist/react/components/WeekStrip/WeekStrip.d.ts +14 -0
  192. package/dist/react/components/WeekStrip/WeekStrip.js +225 -0
  193. package/dist/react/components/WeekStrip/WeekStrip.js.map +1 -0
  194. package/dist/react/components/WeekStrip/index.cjs +1 -0
  195. package/dist/react/components/WeekStrip/index.d.cts +5 -0
  196. package/dist/react/components/WeekStrip/index.d.ts +5 -0
  197. package/dist/react/components/WeekStrip/index.js +3 -0
  198. package/dist/react/components/WeekStrip/types.d.cts +98 -0
  199. package/dist/react/components/WeekStrip/types.d.ts +98 -0
  200. package/dist/react/components/WeekStrip/weekStrip.module.scss.cjs +2 -0
  201. package/dist/react/components/WeekStrip/weekStrip.module.scss.cjs.map +1 -0
  202. package/dist/react/components/WeekStrip/weekStrip.module.scss.js +21 -0
  203. package/dist/react/components/WeekStrip/weekStrip.module.scss.js.map +1 -0
  204. package/dist/react/components/index.cjs +1 -1
  205. package/dist/react/components/index.d.cts +1 -0
  206. package/dist/react/components/index.d.ts +1 -0
  207. package/dist/react/components/index.js +4 -2
  208. package/dist/react/contexts/ConfigProvider.cjs +1 -1
  209. package/dist/react/contexts/ConfigProvider.cjs.map +1 -1
  210. package/dist/react/contexts/ConfigProvider.d.cts +4 -0
  211. package/dist/react/contexts/ConfigProvider.d.ts +4 -0
  212. package/dist/react/contexts/ConfigProvider.js +168 -142
  213. package/dist/react/contexts/ConfigProvider.js.map +1 -1
  214. package/dist/react/contexts/ThemeProvider.cjs +1 -1
  215. package/dist/react/contexts/ThemeProvider.cjs.map +1 -1
  216. package/dist/react/contexts/ThemeProvider.d.cts +1 -1
  217. package/dist/react/contexts/ThemeProvider.d.ts +1 -1
  218. package/dist/react/contexts/ThemeProvider.js +10 -9
  219. package/dist/react/contexts/ThemeProvider.js.map +1 -1
  220. package/dist/react/contexts/index.d.cts +1 -1
  221. package/dist/react/contexts/index.d.ts +1 -1
  222. package/dist/react/contexts/types.d.cts +29 -2
  223. package/dist/react/contexts/types.d.ts +29 -2
  224. package/dist/react/index.cjs +1 -1
  225. package/dist/react/index.js +8 -7
  226. package/dist/react/style.css +2 -1
  227. package/dist/react/styles/app-shell.css +1 -1
  228. package/dist/react/styles/auto-complete.css +1 -1
  229. package/dist/react/styles/code-block.css +1 -1
  230. package/dist/react/styles/date-picker.css +1 -1
  231. package/dist/react/styles/icon-button.css +1 -1
  232. package/dist/react/styles/json-field.css +1 -1
  233. package/dist/react/styles/key-value-editor.css +1 -1
  234. package/dist/react/styles/loading-state.css +1 -1
  235. package/dist/react/styles/monaco-code-editor.css +1 -1
  236. package/dist/react/styles/page-tabs.css +1 -1
  237. package/dist/react/styles/progress-indicator.css +1 -1
  238. package/dist/react/styles/tag-input.css +1 -1
  239. package/dist/react/styles/time-picker.css +1 -1
  240. package/dist/react/styles/toast.css +1 -1
  241. package/dist/react/styles/upload.css +1 -1
  242. package/dist/react/styles/virtual-list.css +1 -1
  243. package/dist/react/styles/week-strip.css +3 -0
  244. package/dist/taro/{components-LmhBVvPj.js → components-DoBebZ28.js} +454 -434
  245. package/dist/taro/data.d.ts +39 -0
  246. package/dist/taro/display.d.ts +22 -1
  247. package/dist/taro/icon/DynamicIcon.d.ts +7 -0
  248. package/dist/taro/icon/Icon.d.ts +9 -0
  249. package/dist/taro/icon/createIcon.d.ts +10 -0
  250. package/dist/taro/icon/icons.d.ts +2060 -0
  251. package/dist/taro/icon/types.d.ts +25 -0
  252. package/dist/taro/icons.d.ts +6 -0
  253. package/dist/taro/icons.js +63 -0
  254. package/dist/taro/index.js +1954 -1816
  255. package/dist/taro/monaco.js +1 -1
  256. package/dist/taro/style.css +136 -0
  257. package/dist/taro/theme.d.ts +27 -3
  258. package/dist/uni/ConfigProvider.vue +72 -21
  259. package/dist/uni/ConfigProvider.vue.d.ts +9 -2
  260. package/dist/uni/ThemeProvider.vue +10 -1
  261. package/dist/uni/ThemeProvider.vue.d.ts +4 -1
  262. package/dist/uni/WeekStrip.vue +245 -0
  263. package/dist/uni/WeekStrip.vue.d.ts +37 -0
  264. package/dist/uni/index.d.ts +1 -0
  265. package/dist/uni/index.js +1 -0
  266. package/dist/uni/manifest.d.ts +7 -0
  267. package/dist/uni/manifest.js +13 -0
  268. package/dist/uni/style.css +110 -0
  269. package/dist/vue/components/ProgressIndicator/ProgressIndicator.vue.d.ts +10 -1
  270. package/dist/vue/components/ProgressIndicator/ProgressIndicator.vue.js.map +1 -1
  271. package/dist/vue/components/ProgressIndicator/ProgressIndicator.vue_vue_type_script_setup_true_lang.js +91 -44
  272. package/dist/vue/components/ProgressIndicator/ProgressIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  273. package/dist/vue/components/ProgressIndicator/index.d.ts +1 -1
  274. package/dist/vue/components/ProgressIndicator/types.d.ts +32 -4
  275. package/dist/vue/components/WeekStrip/WeekStrip.vue.d.ts +31 -0
  276. package/dist/vue/components/WeekStrip/WeekStrip.vue.js +7 -0
  277. package/dist/vue/components/WeekStrip/WeekStrip.vue.js.map +1 -0
  278. package/dist/vue/components/WeekStrip/WeekStrip.vue_vue_type_script_setup_true_lang.js +250 -0
  279. package/dist/vue/components/WeekStrip/WeekStrip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  280. package/dist/vue/components/WeekStrip/index.d.ts +3 -0
  281. package/dist/vue/components/WeekStrip/index.js +2 -0
  282. package/dist/vue/components/WeekStrip/types.d.ts +88 -0
  283. package/dist/vue/config/ConfigProvider.vue.d.ts +11 -1
  284. package/dist/vue/config/ConfigProvider.vue.js.map +1 -1
  285. package/dist/vue/config/ConfigProvider.vue_vue_type_script_setup_true_lang.js +117 -91
  286. package/dist/vue/config/ConfigProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  287. package/dist/vue/config/ThemeProvider.vue.d.ts +7 -1
  288. package/dist/vue/config/ThemeProvider.vue.js.map +1 -1
  289. package/dist/vue/config/ThemeProvider.vue_vue_type_script_setup_true_lang.js +3 -0
  290. package/dist/vue/config/ThemeProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  291. package/dist/vue/config/context.d.ts +8 -1
  292. package/dist/vue/config/context.js +13 -7
  293. package/dist/vue/config/context.js.map +1 -1
  294. package/dist/vue/global.d.ts +1 -0
  295. package/dist/vue/groups/navigation.d.ts +1 -0
  296. package/dist/vue/groups/navigation.js +33 -30
  297. package/dist/vue/groups/navigation.js.map +1 -1
  298. package/dist/vue/icon/icons.d.ts +16 -0
  299. package/dist/vue/icon/icons.js +2 -2
  300. package/dist/vue/icon/icons.js.map +1 -1
  301. package/dist/vue/icon/index.js +2 -2
  302. package/dist/vue/icons.js +2 -2
  303. package/dist/vue/icons.js.map +1 -1
  304. package/dist/vue/index.js +99 -98
  305. package/dist/weapp/controls.js +660 -199
  306. package/dist/weapp/controls.wxss +110 -0
  307. package/dist/weapp/types.d.ts +10 -0
  308. package/dist/weapp/week-strip/index.js +1 -0
  309. package/dist/weapp/week-strip/index.json +1 -0
  310. package/dist/weapp/week-strip/index.wxml +1 -0
  311. package/dist/weapp/week-strip/index.wxss +1 -0
  312. package/dist/web-components/cdn/minerva.js +456 -361
  313. package/dist/web-components/cdn/minerva.js.map +1 -1
  314. package/dist/web-components/components/config/config.d.ts +12 -1
  315. package/dist/web-components/components/config/config.js +35 -27
  316. package/dist/web-components/components/config/config.js.map +1 -1
  317. package/dist/web-components/components/progress/progress.d.ts +28 -9
  318. package/dist/web-components/components/progress/progress.js +60 -19
  319. package/dist/web-components/components/progress/progress.js.map +1 -1
  320. package/dist/web-components/components/week-strip/week-strip.d.ts +92 -0
  321. package/dist/web-components/components/week-strip/week-strip.js +249 -0
  322. package/dist/web-components/components/week-strip/week-strip.js.map +1 -0
  323. package/dist/web-components/elements/week-strip.d.ts +1 -0
  324. package/dist/web-components/elements/week-strip.js +8 -0
  325. package/dist/web-components/elements/week-strip.js.map +1 -0
  326. package/dist/web-components/html-custom-data.json +95 -1
  327. package/dist/web-components/index.d.ts +1 -0
  328. package/dist/web-components/index.js +3 -1
  329. package/dist/web-components/styles/ProgressIndicator/progressIndicator.css.js +1 -1
  330. package/dist/web-components/styles/ProgressIndicator/progressIndicator.css.js.map +1 -1
  331. package/dist/web-components/styles/WeekStrip/weekStrip.css.js +6 -0
  332. package/dist/web-components/styles/WeekStrip/weekStrip.css.js.map +1 -0
  333. package/dist/web-components/types/react.d.ts +11 -2
  334. package/dist/web-components/types/solid.d.ts +10 -4
  335. package/dist/web-components/types/svelte.d.ts +10 -4
  336. package/dist/web-components/types/vue.d.ts +9 -2
  337. package/package.json +31 -1
@@ -1,8 +1,8 @@
1
1
  import { DOCUMENT, NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
2
  import * as i0 from "@angular/core";
3
- import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, Injectable, InjectionToken, Injector, PLATFORM_ID, SecurityContext, TemplateRef, ViewContainerRef, ViewEncapsulation, afterNextRender, afterRenderEffect, booleanAttribute, computed, contentChild, effect, forwardRef, inject, input, linkedSignal, makeEnvironmentProviders, model, numberAttribute, output, provideEnvironmentInitializer, signal, untracked, viewChild, viewChildren } from "@angular/core";
4
- import { DEFAULT_LANGUAGE, DEFAULT_TAG_SEPARATORS, PALETTES, RATING_STAR_COUNT, addDays, clampNumber, cn, createCheckboxMachine, createRatingMachine, createSwitchMachine, createTypeahead, dayKey, designAttributes, findCascaderPath, flattenCascaderOptions, formatHasSeconds, formatNumberValue, formatTime, getNextIndex, getPageRange, getRatingKeyValue, getRatingStarFills, getVirtualRange, inferStepPrecision, isPalette, isSupportedLanguage, localDate, matchesAccept, messages, monthStart, parseDayKey, parseNumberDraft, parseTimeInput, presetPalette, resolveDesign, resolveSize, resolveSpace, resolveTimeFormat, sameMonth, splitBySeparators, startOfToday, translate } from "../../core/index.js";
5
- import { FOCUS_SCOPE_UNMOUNT_EVENT, PALETTE_COOKIE_NAME, THEME_COOKIE_NAME, applyDesignAttributes, applyPosition, autoPosition, createDismissableLayer, createFocusScope, focusElement, generateCSSVariables, getDirection, getSystemTheme, getTabbables, hideOthers, isBilingualTheme, lockScroll, logicalArrowKey, parsePaletteCookie, parsePlacement, parseThemeCookie, readCookieValue, resolveTheme, serializeThemeCookie, waitForExitAnimation } from "../../dom/index.js";
3
+ import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, Injectable, InjectionToken, Injector, PLATFORM_ID, SecurityContext, TemplateRef, ViewContainerRef, ViewEncapsulation, afterEveryRender, afterNextRender, afterRenderEffect, booleanAttribute, computed, contentChild, effect, forwardRef, inject, input, isDevMode, linkedSignal, makeEnvironmentProviders, model, numberAttribute, output, provideEnvironmentInitializer, signal, untracked, viewChild, viewChildren } from "@angular/core";
4
+ import { DEFAULT_LANGUAGE, DEFAULT_TAG_SEPARATORS, PALETTES, RATING_STAR_COUNT, addDays, clampNumber, cn, createCheckboxMachine, createRatingMachine, createSwitchMachine, createTypeahead, dayKey, designAttributes, findCascaderPath, flattenCascaderOptions, formatDevMessage, formatHasSeconds, formatNumberValue, formatTime, getNextIndex, getPageRange, getRatingKeyValue, getRatingStarFills, getVirtualRange, inferStepPrecision, invalidPrimaryColorMessage, isPalette, isSupportedLanguage, localDate, matchesAccept, messages, monthStart, palettes, parseDayKey, parseNumberDraft, parseTimeInput, presetPalette, resolveDesign, resolvePrimaryColor, resolveSize, resolveSpace, resolveTimeFormat, sameMonth, splitBySeparators, startOfToday, translate, weekStart } from "../../core/index.js";
5
+ import { FOCUS_SCOPE_UNMOUNT_EVENT, PALETTE_COOKIE_NAME, THEME_COOKIE_NAME, applyDesignAttributes, applyPosition, autoPosition, createDismissableLayer, createFocusScope, focusElement, generateCSSVariables, getDirection, getSystemTheme, getTabbables, hideOthers, isBilingualTheme, lockScroll, logicalArrowKey, parsePaletteCookie, parsePlacement, parseThemeCookie, primaryColorCss, primaryColorTheme, readCookieValue, resolveTheme, serializeThemeCookie, waitForExitAnimation } from "../../dom/index.js";
6
6
  import { FormGroupDirective, NG_VALUE_ACCESSOR, NgControl, NgForm } from "@angular/forms";
7
7
  import { DomSanitizer } from "@angular/platform-browser";
8
8
  import { boxplotData, bubbleSeries, createChart, createChart3D, createDepthChart, createGraphChart, createOrderBook, createOrderBookHeatmap, createShapeChart, createTimeAndSales, createTradingChart, ganttSeries, heatmapChartOptions, histogramSeries, quadrantChartOptions, quadrantOf, sparklineOptions, waterfallSeries } from "../../charts/core.js";
@@ -11,6 +11,7 @@ const injectIsBrowser = () => isPlatformBrowser(inject(PLATFORM_ID));
11
11
  const staticInputs = (config = {}) => ({
12
12
  theme: () => config.theme,
13
13
  palette: () => config.palette,
14
+ primaryColor: () => config.primaryColor,
14
15
  persist: () => config.persist,
15
16
  locale: () => config.locale,
16
17
  preset: () => config.preset,
@@ -25,6 +26,15 @@ const themeModeOf = (theme) => {
25
26
  if (theme === "auto" || theme === "system" || isBilingualTheme(theme)) return "system";
26
27
  };
27
28
  const supportsPalette = (theme) => theme === "light" || theme === "dark" || theme === "auto" || theme === "system";
29
+ const warnedPrimaryColors = /* @__PURE__ */ new Set();
30
+ const warnInvalidPrimaryColor = (value) => {
31
+ if (!isDevMode()) return;
32
+ const key = JSON.stringify(value);
33
+ if (warnedPrimaryColors.has(key)) return;
34
+ warnedPrimaryColors.add(key);
35
+ console.error(formatDevMessage("mn-config", invalidPrimaryColorMessage(value)));
36
+ };
37
+ const BRAND_STYLE_ATTRIBUTE = "data-minerva-primary-color";
28
38
  var MnSystemTheme = class MnSystemTheme {
29
39
  constructor() {
30
40
  this.state = signal("light", ...ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []);
@@ -122,15 +132,39 @@ var MinervaScope = class {
122
132
  const palette = this.palette();
123
133
  return palette && supportsPalette(this.theme()) ? palette : null;
124
134
  }, ...ngDevMode ? [{ debugName: "activePalette" }] : /* istanbul ignore next */ []);
125
- this.scoped = computed(() => !isRoot && (this.themeInput() !== void 0 || this.paletteInput() !== void 0 || this.hasDesign()), ...ngDevMode ? [{ debugName: "scoped" }] : /* istanbul ignore next */ []);
135
+ const ownBrand = computed(() => {
136
+ const value = inputs.primaryColor();
137
+ const pair = resolvePrimaryColor(value);
138
+ if (pair === void 0) warnInvalidPrimaryColor(value);
139
+ return pair;
140
+ }, ...ngDevMode ? [{ debugName: "ownBrand" }] : /* istanbul ignore next */ []);
141
+ const ownsBrand = () => isRoot || inputs.primaryColor() !== void 0 && ownBrand() !== void 0;
142
+ this.primaryColor = computed(() => ownsBrand() ? ownBrand() ?? null : parent?.primaryColor() ?? null, {
143
+ ...ngDevMode ? { debugName: "primaryColor" } : /* istanbul ignore next */ {},
144
+ equal: (a, b) => a?.light === b?.light && a?.dark === b?.dark
145
+ });
146
+ this.inlineTheme = computed(() => {
147
+ const palette = this.activePalette();
148
+ const base = palette ? void 0 : resolveTheme(this.theme(), this.systemTheme());
149
+ const brand = this.primaryColor();
150
+ if (!brand) return base ?? {};
151
+ const mode = this.resolvedMode() ?? "light";
152
+ return {
153
+ ...base,
154
+ ...primaryColorTheme(brand, mode, palette ? palettes[palette][mode] : base)
155
+ };
156
+ }, ...ngDevMode ? [{ debugName: "inlineTheme" }] : /* istanbul ignore next */ []);
157
+ this.scoped = computed(() => !isRoot && (this.themeInput() !== void 0 || this.paletteInput() !== void 0 || inputs.primaryColor() !== void 0 && ownBrand() !== void 0 || this.hasDesign()), ...ngDevMode ? [{ debugName: "scoped" }] : /* istanbul ignore next */ []);
126
158
  this.scopeVariables = computed(() => {
127
- if (!this.scoped() || this.activePalette()) return null;
128
- const theme = resolveTheme(this.theme(), this.systemTheme());
129
- return Object.fromEntries(Object.entries(theme).filter(([, v]) => v !== void 0 && v !== null && v !== "").map(([key, value]) => [`--${key}`, String(value)]));
159
+ if (!this.scoped()) return null;
160
+ const entries = Object.entries(this.inlineTheme()).filter(([, v]) => v !== void 0 && v !== null && v !== "").map(([key, value]) => [`--${key}`, String(value)]);
161
+ return entries.length ? Object.fromEntries(entries) : null;
130
162
  }, ...ngDevMode ? [{ debugName: "scopeVariables" }] : /* istanbul ignore next */ []);
131
163
  this.scopeDesignAttributes = computed(() => this.scoped() ? designAttributes(this.design(), { all: true }) : null, ...ngDevMode ? [{ debugName: "scopeDesignAttributes" }] : /* istanbul ignore next */ []);
132
164
  this.portalContainer = computed(() => this.scoped() ? this.ownPortal() : parent?.portalContainer() ?? null, ...ngDevMode ? [{ debugName: "portalContainer" }] : /* istanbul ignore next */ []);
133
- if (!this.isBrowser || passive) return;
165
+ if (passive) return;
166
+ if (isRoot) this.manageBrandStyle();
167
+ if (!this.isBrowser) return;
134
168
  if (isRoot) this.applyToDocument();
135
169
  else this.managePortalHost();
136
170
  }
@@ -196,8 +230,7 @@ var MinervaScope = class {
196
230
  effect(() => {
197
231
  const mode = this.resolvedMode();
198
232
  const palette = this.activePalette();
199
- const theme = this.theme();
200
- const system = this.systemTheme();
233
+ const inlineTheme = this.inlineTheme();
201
234
  const design = this.design();
202
235
  untracked(() => {
203
236
  if (mode) {
@@ -207,13 +240,9 @@ var MinervaScope = class {
207
240
  root.removeAttribute("data-theme");
208
241
  root.style.removeProperty("color-scheme");
209
242
  }
210
- if (palette) {
211
- root.setAttribute("data-palette", palette);
212
- generateCSSVariables(root.style, {});
213
- } else {
214
- root.removeAttribute("data-palette");
215
- generateCSSVariables(root.style, resolveTheme(theme, system));
216
- }
243
+ if (palette) root.setAttribute("data-palette", palette);
244
+ else root.removeAttribute("data-palette");
245
+ generateCSSVariables(root.style, inlineTheme);
217
246
  applyDesignAttributes(root, design);
218
247
  });
219
248
  });
@@ -252,8 +281,7 @@ var MinervaScope = class {
252
281
  if (!el) return;
253
282
  const mode = this.resolvedMode();
254
283
  const palette = this.activePalette();
255
- const theme = this.theme();
256
- const system = this.systemTheme();
284
+ const inlineTheme = this.inlineTheme();
257
285
  const design = this.design();
258
286
  untracked(() => {
259
287
  if (mode) el.setAttribute("data-theme", mode);
@@ -263,11 +291,35 @@ var MinervaScope = class {
263
291
  applyDesignAttributes(el, design, { all: true });
264
292
  if (mode) el.style.setProperty("color-scheme", mode);
265
293
  else el.style.removeProperty("color-scheme");
266
- generateCSSVariables(el.style, palette ? {} : resolveTheme(theme, system));
294
+ generateCSSVariables(el.style, inlineTheme);
267
295
  });
268
296
  });
269
297
  inject(DestroyRef).onDestroy(() => host?.remove());
270
298
  }
299
+ manageBrandStyle() {
300
+ const doc = this.document;
301
+ let style = null;
302
+ effect(() => {
303
+ const brand = this.primaryColor();
304
+ const palette = this.activePalette();
305
+ const theme = this.theme();
306
+ untracked(() => {
307
+ if (!brand) {
308
+ style?.remove();
309
+ style = null;
310
+ return;
311
+ }
312
+ const baseOf = (mode) => palette ? palettes[palette][mode] : resolveTheme(theme, mode);
313
+ style ??= doc.head.querySelector(`style[${BRAND_STYLE_ATTRIBUTE}]`) ?? doc.head.appendChild(doc.createElement("style"));
314
+ style.setAttribute(BRAND_STYLE_ATTRIBUTE, "");
315
+ style.textContent = primaryColorCss(brand, { base: {
316
+ light: baseOf("light"),
317
+ dark: baseOf("dark")
318
+ } });
319
+ });
320
+ });
321
+ inject(DestroyRef).onDestroy(() => style?.remove());
322
+ }
271
323
  };
272
324
  const MN_SCOPE = new InjectionToken("MN_SCOPE", {
273
325
  providedIn: "root",
@@ -294,6 +346,7 @@ var MnConfig = class MnConfig {
294
346
  this.radius = input(void 0, ...ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []);
295
347
  this.shadow = input(void 0, ...ngDevMode ? [{ debugName: "shadow" }] : /* istanbul ignore next */ []);
296
348
  this.fontScale = input(void 0, ...ngDevMode ? [{ debugName: "fontScale" }] : /* istanbul ignore next */ []);
349
+ this.primaryColor = input(void 0, ...ngDevMode ? [{ debugName: "primaryColor" }] : /* istanbul ignore next */ []);
297
350
  this.themeChange = output();
298
351
  this.paletteChange = output();
299
352
  this.scope = new MinervaScope(inject(MN_SCOPE, { skipSelf: true }), {
@@ -305,7 +358,8 @@ var MnConfig = class MnConfig {
305
358
  density: this.density,
306
359
  radius: this.radius,
307
360
  shadow: this.shadow,
308
- fontScale: this.fontScale
361
+ fontScale: this.fontScale,
362
+ primaryColor: this.primaryColor
309
363
  }, false, {
310
364
  themeChange: (theme) => this.themeChange.emit(theme),
311
365
  paletteChange: (palette) => this.paletteChange.emit(palette)
@@ -392,6 +446,13 @@ var MnConfig = class MnConfig {
392
446
  isSignal: true,
393
447
  isRequired: false,
394
448
  transformFunction: null
449
+ },
450
+ primaryColor: {
451
+ classPropertyName: "primaryColor",
452
+ publicName: "primaryColor",
453
+ isSignal: true,
454
+ isRequired: false,
455
+ transformFunction: null
395
456
  }
396
457
  },
397
458
  outputs: {
@@ -527,6 +588,14 @@ i0.ɵɵngDeclareClassMetadata({
527
588
  required: false
528
589
  }]
529
590
  }],
591
+ primaryColor: [{
592
+ type: i0.Input,
593
+ args: [{
594
+ isSignal: true,
595
+ alias: "primaryColor",
596
+ required: false
597
+ }]
598
+ }],
530
599
  themeChange: [{
531
600
  type: i0.Output,
532
601
  args: ["themeChange"]
@@ -1286,31 +1355,40 @@ const popoverStyles = {
1286
1355
  positioner: "_positioner_13juh_1"
1287
1356
  };
1288
1357
  const progressIndicatorStyles = {
1289
- bar: "_bar_148vu_82",
1290
- barAnimation: "_barAnimation_148vu_1",
1291
- barContainer: "_barContainer_148vu_82",
1292
- circle: "_circle_148vu_38",
1293
- current: "_current_148vu_28",
1294
- defaultWidth: "_defaultWidth_148vu_13",
1295
- dottedBar: "_dottedBar_148vu_83",
1296
- dottedBarAnimation: "_dottedBarAnimation_148vu_1",
1297
- dottedBarContainer: "_dottedBarContainer_148vu_83",
1298
- fullWidth: "_fullWidth_148vu_16",
1299
- icon: "_icon_148vu_10",
1300
- label: "_label_148vu_32",
1301
- large: "_large_148vu_58",
1302
- medium: "_medium_148vu_53",
1303
- neutral: "_neutral_148vu_24",
1304
- primary: "_primary_148vu_20",
1305
- progressIndicator: "_progressIndicator_148vu_1",
1306
- small: "_small_148vu_48",
1307
- spin: "_spin_148vu_37",
1308
- spinner: "_spinner_148vu_37",
1309
- wave: "_wave_148vu_39",
1310
- waveAnimation: "_waveAnimation_148vu_1",
1311
- waveContainer: "_waveContainer_148vu_39",
1312
- xlarge: "_xlarge_148vu_63",
1313
- xsmall: "_xsmall_148vu_43"
1358
+ bar: "_bar_8om83_133",
1359
+ barAnimation: "_barAnimation_8om83_1",
1360
+ barContainer: "_barContainer_8om83_133",
1361
+ circle: "_circle_8om83_59",
1362
+ current: "_current_8om83_28",
1363
+ danger: "_danger_8om83_40",
1364
+ defaultWidth: "_defaultWidth_8om83_13",
1365
+ determinate: "_determinate_8om83_185",
1366
+ dottedBar: "_dottedBar_8om83_134",
1367
+ dottedBarAnimation: "_dottedBarAnimation_8om83_1",
1368
+ dottedBarContainer: "_dottedBarContainer_8om83_134",
1369
+ fullWidth: "_fullWidth_8om83_16",
1370
+ icon: "_icon_8om83_10",
1371
+ info: "_info_8om83_44",
1372
+ label: "_label_8om83_48",
1373
+ large: "_large_8om83_83",
1374
+ medium: "_medium_8om83_77",
1375
+ neutral: "_neutral_8om83_24",
1376
+ primary: "_primary_8om83_20",
1377
+ progressIndicator: "_progressIndicator_8om83_1",
1378
+ ring: "_ring_8om83_60",
1379
+ ringArc: "_ringArc_8om83_119",
1380
+ ringTrack: "_ringTrack_8om83_116",
1381
+ small: "_small_8om83_71",
1382
+ spin: "_spin_8om83_58",
1383
+ spinner: "_spinner_8om83_58",
1384
+ success: "_success_8om83_32",
1385
+ value: "_value_8om83_53",
1386
+ warning: "_warning_8om83_36",
1387
+ wave: "_wave_8om83_61",
1388
+ waveAnimation: "_waveAnimation_8om83_1",
1389
+ waveContainer: "_waveContainer_8om83_61",
1390
+ xlarge: "_xlarge_8om83_89",
1391
+ xsmall: "_xsmall_8om83_65"
1314
1392
  };
1315
1393
  const proseStyles = { prose: "_prose_3xiks_1" };
1316
1394
  const radioStyles = {
@@ -1671,6 +1749,21 @@ const virtualListStyles = {
1671
1749
  virtualListContent: "_virtualListContent_150w2_13",
1672
1750
  virtualListItem: "_virtualListItem_150w2_16"
1673
1751
  };
1752
+ const weekStripStyles = {
1753
+ count: "_count_1d8wn_105",
1754
+ day: "_day_1d8wn_25",
1755
+ dayNumber: "_dayNumber_1d8wn_90",
1756
+ days: "_days_1d8wn_62",
1757
+ dot: "_dot_1d8wn_109",
1758
+ heading: "_heading_1d8wn_17",
1759
+ large: "_large_1d8wn_181",
1760
+ marker: "_marker_1d8wn_135",
1761
+ navButton: "_navButton_1d8wn_25",
1762
+ small: "_small_1d8wn_161",
1763
+ toolbar: "_toolbar_1d8wn_9",
1764
+ weekStrip: "_weekStrip_1d8wn_1",
1765
+ weekday: "_weekday_1d8wn_101"
1766
+ };
1674
1767
  const RADIUS_CLASS = {
1675
1768
  none: buttonStyles.borderRadiusNone,
1676
1769
  small: buttonStyles.borderRadiusSmall,
@@ -22874,9 +22967,42 @@ var MnProgressIndicator = class MnProgressIndicator {
22874
22967
  this.size = input("medium", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
22875
22968
  this.variant = input("spinner", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
22876
22969
  this.color = input("primary", ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
22970
+ this.value = input(void 0, {
22971
+ ...ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {},
22972
+ transform: (v) => v === void 0 || v === null || v === "" ? void 0 : Number(v)
22973
+ });
22974
+ this.max = input(100, {
22975
+ ...ngDevMode ? { debugName: "max" } : /* istanbul ignore next */ {},
22976
+ transform: numberAttribute
22977
+ });
22978
+ this.showValue = input(false, {
22979
+ ...ngDevMode ? { debugName: "showValue" } : /* istanbul ignore next */ {},
22980
+ transform: booleanAttribute
22981
+ });
22982
+ this.format = input(null, ...ngDevMode ? [{ debugName: "format" }] : /* istanbul ignore next */ []);
22877
22983
  this.s = progressIndicatorStyles;
22878
- this.indicatorClass = computed(() => this.s[this.variant() === "dotted-bar" ? "dottedBar" : this.variant()], ...ngDevMode ? [{ debugName: "indicatorClass" }] : /* istanbul ignore next */ []);
22879
- this.classes = computed(() => cn(this.s.progressIndicator, this.s[this.size()], this.s[this.color()]), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
22984
+ this.fillClass = cn(this.s.bar, this.s.determinate);
22985
+ this.determinate = computed(() => typeof this.value() === "number" && (this.variant() === "bar" || this.variant() === "circle"), ...ngDevMode ? [{ debugName: "determinate" }] : /* istanbul ignore next */ []);
22986
+ this.safeMax = computed(() => {
22987
+ const max = this.max();
22988
+ return Number.isFinite(max) && max > 0 ? max : 100;
22989
+ }, ...ngDevMode ? [{ debugName: "safeMax" }] : /* istanbul ignore next */ []);
22990
+ this.current = computed(() => {
22991
+ const value = this.value();
22992
+ if (!this.determinate() || value === void 0) return 0;
22993
+ return Math.min(Math.max(Number.isNaN(value) ? 0 : value, 0), this.safeMax());
22994
+ }, ...ngDevMode ? [{ debugName: "current" }] : /* istanbul ignore next */ []);
22995
+ this.percent = computed(() => this.current() / this.safeMax() * 100, ...ngDevMode ? [{ debugName: "percent" }] : /* istanbul ignore next */ []);
22996
+ this.formatted = computed(() => {
22997
+ const format = this.format();
22998
+ return format ? format(this.current(), this.safeMax()) : `${Math.round(this.percent())}%`;
22999
+ }, ...ngDevMode ? [{ debugName: "formatted" }] : /* istanbul ignore next */ []);
23000
+ this.barContainerClass = computed(() => cn(this.s.barContainer, this.s[this.size()]), ...ngDevMode ? [{ debugName: "barContainerClass" }] : /* istanbul ignore next */ []);
23001
+ this.dottedBarContainerClass = computed(() => cn(this.s.dottedBarContainer, this.s[this.size()]), ...ngDevMode ? [{ debugName: "dottedBarContainerClass" }] : /* istanbul ignore next */ []);
23002
+ this.waveContainerClass = computed(() => cn(this.s.waveContainer, this.s[this.size()]), ...ngDevMode ? [{ debugName: "waveContainerClass" }] : /* istanbul ignore next */ []);
23003
+ this.ringClass = computed(() => cn(this.s.ring, this.s[this.size()]), ...ngDevMode ? [{ debugName: "ringClass" }] : /* istanbul ignore next */ []);
23004
+ this.indicatorClass = computed(() => cn(this.s[this.variant() === "circle" ? "circle" : "spinner"], this.s[this.size()]), ...ngDevMode ? [{ debugName: "indicatorClass" }] : /* istanbul ignore next */ []);
23005
+ this.classes = computed(() => cn(this.s.progressIndicator, this.s[this.size()], this.s[this.color()], (this.variant() === "bar" || this.variant() === "dotted-bar") && this.s.defaultWidth), ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
22880
23006
  }
22881
23007
  static {
22882
23008
  this.ɵfac = i0.ɵɵngDeclareFactory({
@@ -22937,6 +23063,34 @@ var MnProgressIndicator = class MnProgressIndicator {
22937
23063
  isSignal: true,
22938
23064
  isRequired: false,
22939
23065
  transformFunction: null
23066
+ },
23067
+ value: {
23068
+ classPropertyName: "value",
23069
+ publicName: "value",
23070
+ isSignal: true,
23071
+ isRequired: false,
23072
+ transformFunction: null
23073
+ },
23074
+ max: {
23075
+ classPropertyName: "max",
23076
+ publicName: "max",
23077
+ isSignal: true,
23078
+ isRequired: false,
23079
+ transformFunction: null
23080
+ },
23081
+ showValue: {
23082
+ classPropertyName: "showValue",
23083
+ publicName: "showValue",
23084
+ isSignal: true,
23085
+ isRequired: false,
23086
+ transformFunction: null
23087
+ },
23088
+ format: {
23089
+ classPropertyName: "format",
23090
+ publicName: "format",
23091
+ isSignal: true,
23092
+ isRequired: false,
23093
+ transformFunction: null
22940
23094
  }
22941
23095
  },
22942
23096
  host: {
@@ -22946,8 +23100,12 @@ var MnProgressIndicator = class MnProgressIndicator {
22946
23100
  },
22947
23101
  properties: {
22948
23102
  "attr.role": "decorative() ? null : 'progressbar'",
22949
- "attr.aria-label": "label() || 'Loading'",
23103
+ "attr.aria-label": "label() || (determinate() ? 'Progress' : 'Loading')",
22950
23104
  "attr.aria-hidden": "decorative() ? true : null",
23105
+ "attr.aria-valuemin": "determinate() && !decorative() ? 0 : null",
23106
+ "attr.aria-valuemax": "determinate() && !decorative() ? safeMax() : null",
23107
+ "attr.aria-valuenow": "determinate() && !decorative() ? current() : null",
23108
+ "attr.aria-valuetext": "determinate() && !decorative() && format() ? formatted() : null",
22951
23109
  "attr.data-size": "size()",
22952
23110
  "attr.data-variant": "variant()",
22953
23111
  "attr.data-color": "color()",
@@ -22964,12 +23122,118 @@ var MnProgressIndicator = class MnProgressIndicator {
22964
23122
  >{{ icon() }}</span
22965
23123
  >
22966
23124
  }
22967
- <span
22968
- mnHook="progress"
22969
- mnPart="indicator"
22970
- aria-hidden="true"
22971
- [class]="indicatorClass()"
22972
- ></span>
23125
+ @if (determinate() && variant() === "bar") {
23126
+ <div
23127
+ mnHook="progress"
23128
+ mnPart="indicator"
23129
+ aria-hidden="true"
23130
+ [class]="barContainerClass()"
23131
+ >
23132
+ <div [class]="fillClass" [style.width.%]="percent()"></div>
23133
+ </div>
23134
+ } @else if (determinate()) {
23135
+ <svg
23136
+ mnHook="progress"
23137
+ mnPart="indicator"
23138
+ aria-hidden="true"
23139
+ focusable="false"
23140
+ viewBox="0 0 24 24"
23141
+ width="1em"
23142
+ height="1em"
23143
+ [attr.class]="ringClass()"
23144
+ >
23145
+ <circle [attr.class]="s.ringTrack" cx="12" cy="12" r="10" />
23146
+ <circle
23147
+ [attr.class]="s.ringArc"
23148
+ cx="12"
23149
+ cy="12"
23150
+ r="10"
23151
+ pathLength="100"
23152
+ [attr.stroke-dasharray]="percent() + ' 100'"
23153
+ />
23154
+ </svg>
23155
+ } @else if (variant() === "bar") {
23156
+ <div
23157
+ mnHook="progress"
23158
+ mnPart="indicator"
23159
+ aria-hidden="true"
23160
+ [class]="barContainerClass()"
23161
+ >
23162
+ <div [class]="s.bar"></div>
23163
+ </div>
23164
+ } @else if (variant() === "dotted-bar") {
23165
+ <div
23166
+ mnHook="progress"
23167
+ mnPart="indicator"
23168
+ aria-hidden="true"
23169
+ [class]="dottedBarContainerClass()"
23170
+ >
23171
+ <div [class]="s.dottedBar"></div>
23172
+ </div>
23173
+ } @else if (variant() === "wave") {
23174
+ <div
23175
+ mnHook="progress"
23176
+ mnPart="indicator"
23177
+ aria-hidden="true"
23178
+ [class]="waveContainerClass()"
23179
+ >
23180
+ <svg
23181
+ [attr.class]="s.wave"
23182
+ viewBox="0 0 24 24"
23183
+ width="1em"
23184
+ height="1em"
23185
+ fill="none"
23186
+ stroke="currentColor"
23187
+ stroke-width="2"
23188
+ stroke-linecap="round"
23189
+ stroke-linejoin="round"
23190
+ aria-hidden="true"
23191
+ focusable="false"
23192
+ >
23193
+ <path d="M2 12h3V6h5v12h5V6h5v6h2" />
23194
+ </svg>
23195
+ </div>
23196
+ } @else {
23197
+ <span
23198
+ mnHook="progress"
23199
+ mnPart="indicator"
23200
+ aria-hidden="true"
23201
+ [class]="indicatorClass()"
23202
+ ><svg
23203
+ viewBox="0 0 24 24"
23204
+ width="1em"
23205
+ height="1em"
23206
+ fill="none"
23207
+ stroke="currentColor"
23208
+ stroke-width="2"
23209
+ stroke-linecap="round"
23210
+ stroke-linejoin="round"
23211
+ aria-hidden="true"
23212
+ focusable="false"
23213
+ >
23214
+ @if (variant() === "circle") {
23215
+ <path d="M21 12a9 9 0 1 1-6.219-8.56" />
23216
+ } @else {
23217
+ <path d="M12 2v4" />
23218
+ <path d="m16.2 7.8 2.9-2.9" />
23219
+ <path d="M18 12h4" />
23220
+ <path d="m16.2 16.2 2.9 2.9" />
23221
+ <path d="M12 18v4" />
23222
+ <path d="m4.9 19.1 2.9-2.9" />
23223
+ <path d="M2 12h4" />
23224
+ <path d="m4.9 4.9 2.9 2.9" />
23225
+ }</svg
23226
+ ></span>
23227
+ }
23228
+ @if (determinate() && showValue()) {
23229
+ <span
23230
+ mnHook="progress"
23231
+ mnPart="value"
23232
+ aria-hidden="true"
23233
+ [class]="s.value"
23234
+ >{{ formatted() }}</span
23235
+ >
23236
+ }
22973
23237
  @if (label()) {
22974
23238
  <span mnHook="progress" mnPart="label" [class]="s.label">{{
22975
23239
  label()
@@ -23005,8 +23269,12 @@ i0.ɵɵngDeclareClassMetadata({
23005
23269
  "data-minerva": "progress",
23006
23270
  "data-part": "root",
23007
23271
  "[attr.role]": "decorative() ? null : 'progressbar'",
23008
- "[attr.aria-label]": "label() || 'Loading'",
23272
+ "[attr.aria-label]": "label() || (determinate() ? 'Progress' : 'Loading')",
23009
23273
  "[attr.aria-hidden]": "decorative() ? true : null",
23274
+ "[attr.aria-valuemin]": "determinate() && !decorative() ? 0 : null",
23275
+ "[attr.aria-valuemax]": "determinate() && !decorative() ? safeMax() : null",
23276
+ "[attr.aria-valuenow]": "determinate() && !decorative() ? current() : null",
23277
+ "[attr.aria-valuetext]": "determinate() && !decorative() && format() ? formatted() : null",
23010
23278
  "[attr.data-size]": "size()",
23011
23279
  "[attr.data-variant]": "variant()",
23012
23280
  "[attr.data-color]": "color()",
@@ -23021,12 +23289,118 @@ i0.ɵɵngDeclareClassMetadata({
23021
23289
  >{{ icon() }}</span
23022
23290
  >
23023
23291
  }
23024
- <span
23025
- mnHook="progress"
23026
- mnPart="indicator"
23027
- aria-hidden="true"
23028
- [class]="indicatorClass()"
23029
- ></span>
23292
+ @if (determinate() && variant() === "bar") {
23293
+ <div
23294
+ mnHook="progress"
23295
+ mnPart="indicator"
23296
+ aria-hidden="true"
23297
+ [class]="barContainerClass()"
23298
+ >
23299
+ <div [class]="fillClass" [style.width.%]="percent()"></div>
23300
+ </div>
23301
+ } @else if (determinate()) {
23302
+ <svg
23303
+ mnHook="progress"
23304
+ mnPart="indicator"
23305
+ aria-hidden="true"
23306
+ focusable="false"
23307
+ viewBox="0 0 24 24"
23308
+ width="1em"
23309
+ height="1em"
23310
+ [attr.class]="ringClass()"
23311
+ >
23312
+ <circle [attr.class]="s.ringTrack" cx="12" cy="12" r="10" />
23313
+ <circle
23314
+ [attr.class]="s.ringArc"
23315
+ cx="12"
23316
+ cy="12"
23317
+ r="10"
23318
+ pathLength="100"
23319
+ [attr.stroke-dasharray]="percent() + ' 100'"
23320
+ />
23321
+ </svg>
23322
+ } @else if (variant() === "bar") {
23323
+ <div
23324
+ mnHook="progress"
23325
+ mnPart="indicator"
23326
+ aria-hidden="true"
23327
+ [class]="barContainerClass()"
23328
+ >
23329
+ <div [class]="s.bar"></div>
23330
+ </div>
23331
+ } @else if (variant() === "dotted-bar") {
23332
+ <div
23333
+ mnHook="progress"
23334
+ mnPart="indicator"
23335
+ aria-hidden="true"
23336
+ [class]="dottedBarContainerClass()"
23337
+ >
23338
+ <div [class]="s.dottedBar"></div>
23339
+ </div>
23340
+ } @else if (variant() === "wave") {
23341
+ <div
23342
+ mnHook="progress"
23343
+ mnPart="indicator"
23344
+ aria-hidden="true"
23345
+ [class]="waveContainerClass()"
23346
+ >
23347
+ <svg
23348
+ [attr.class]="s.wave"
23349
+ viewBox="0 0 24 24"
23350
+ width="1em"
23351
+ height="1em"
23352
+ fill="none"
23353
+ stroke="currentColor"
23354
+ stroke-width="2"
23355
+ stroke-linecap="round"
23356
+ stroke-linejoin="round"
23357
+ aria-hidden="true"
23358
+ focusable="false"
23359
+ >
23360
+ <path d="M2 12h3V6h5v12h5V6h5v6h2" />
23361
+ </svg>
23362
+ </div>
23363
+ } @else {
23364
+ <span
23365
+ mnHook="progress"
23366
+ mnPart="indicator"
23367
+ aria-hidden="true"
23368
+ [class]="indicatorClass()"
23369
+ ><svg
23370
+ viewBox="0 0 24 24"
23371
+ width="1em"
23372
+ height="1em"
23373
+ fill="none"
23374
+ stroke="currentColor"
23375
+ stroke-width="2"
23376
+ stroke-linecap="round"
23377
+ stroke-linejoin="round"
23378
+ aria-hidden="true"
23379
+ focusable="false"
23380
+ >
23381
+ @if (variant() === "circle") {
23382
+ <path d="M21 12a9 9 0 1 1-6.219-8.56" />
23383
+ } @else {
23384
+ <path d="M12 2v4" />
23385
+ <path d="m16.2 7.8 2.9-2.9" />
23386
+ <path d="M18 12h4" />
23387
+ <path d="m16.2 16.2 2.9 2.9" />
23388
+ <path d="M12 18v4" />
23389
+ <path d="m4.9 19.1 2.9-2.9" />
23390
+ <path d="M2 12h4" />
23391
+ <path d="m4.9 4.9 2.9 2.9" />
23392
+ }</svg
23393
+ ></span>
23394
+ }
23395
+ @if (determinate() && showValue()) {
23396
+ <span
23397
+ mnHook="progress"
23398
+ mnPart="value"
23399
+ aria-hidden="true"
23400
+ [class]="s.value"
23401
+ >{{ formatted() }}</span
23402
+ >
23403
+ }
23030
23404
  @if (label()) {
23031
23405
  <span mnHook="progress" mnPart="label" [class]="s.label">{{
23032
23406
  label()
@@ -23082,6 +23456,38 @@ i0.ɵɵngDeclareClassMetadata({
23082
23456
  alias: "color",
23083
23457
  required: false
23084
23458
  }]
23459
+ }],
23460
+ value: [{
23461
+ type: i0.Input,
23462
+ args: [{
23463
+ isSignal: true,
23464
+ alias: "value",
23465
+ required: false
23466
+ }]
23467
+ }],
23468
+ max: [{
23469
+ type: i0.Input,
23470
+ args: [{
23471
+ isSignal: true,
23472
+ alias: "max",
23473
+ required: false
23474
+ }]
23475
+ }],
23476
+ showValue: [{
23477
+ type: i0.Input,
23478
+ args: [{
23479
+ isSignal: true,
23480
+ alias: "showValue",
23481
+ required: false
23482
+ }]
23483
+ }],
23484
+ format: [{
23485
+ type: i0.Input,
23486
+ args: [{
23487
+ isSignal: true,
23488
+ alias: "format",
23489
+ required: false
23490
+ }]
23085
23491
  }]
23086
23492
  }
23087
23493
  });
@@ -23162,7 +23568,11 @@ var MnLoadingState = class MnLoadingState {
23162
23568
  "decorative",
23163
23569
  "size",
23164
23570
  "variant",
23165
- "color"
23571
+ "color",
23572
+ "value",
23573
+ "max",
23574
+ "showValue",
23575
+ "format"
23166
23576
  ]
23167
23577
  }],
23168
23578
  changeDetection: i0.ChangeDetectionStrategy.OnPush
@@ -25965,6 +26375,656 @@ i0.ɵɵngDeclareClassMetadata({
25965
26375
  }]
25966
26376
  }
25967
26377
  });
26378
+ const WEEKDAYS = [
26379
+ "mon",
26380
+ "tue",
26381
+ "wed",
26382
+ "thu",
26383
+ "fri",
26384
+ "sat",
26385
+ "sun"
26386
+ ];
26387
+ const markerCount = (marker) => typeof marker === "number" && Number.isFinite(marker) && marker > 0 ? Math.floor(marker) : 0;
26388
+ var MnWeekStrip = class MnWeekStrip {
26389
+ constructor() {
26390
+ this.value = model(null, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
26391
+ this.week = model(null, ...ngDevMode ? [{ debugName: "week" }] : /* istanbul ignore next */ []);
26392
+ this.firstDayOfWeek = input(1, {
26393
+ ...ngDevMode ? { debugName: "firstDayOfWeek" } : /* istanbul ignore next */ {},
26394
+ transform: (value) => numberAttribute(value, 1)
26395
+ });
26396
+ this.today = input(void 0, ...ngDevMode ? [{ debugName: "today" }] : /* istanbul ignore next */ []);
26397
+ this.markers = input(void 0, ...ngDevMode ? [{ debugName: "markers" }] : /* istanbul ignore next */ []);
26398
+ this.getDayLabel = input(void 0, ...ngDevMode ? [{ debugName: "getDayLabel" }] : /* istanbul ignore next */ []);
26399
+ this.showNavigation = input(false, {
26400
+ ...ngDevMode ? { debugName: "showNavigation" } : /* istanbul ignore next */ {},
26401
+ transform: booleanAttribute
26402
+ });
26403
+ this.previousWeekLabel = input(void 0, ...ngDevMode ? [{ debugName: "previousWeekLabel" }] : /* istanbul ignore next */ []);
26404
+ this.nextWeekLabel = input(void 0, ...ngDevMode ? [{ debugName: "nextWeekLabel" }] : /* istanbul ignore next */ []);
26405
+ this.weekdayLabels = input(void 0, ...ngDevMode ? [{ debugName: "weekdayLabels" }] : /* istanbul ignore next */ []);
26406
+ this.locale = input(void 0, ...ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []);
26407
+ this.disabled = input(false, {
26408
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
26409
+ transform: booleanAttribute
26410
+ });
26411
+ this.size = input("medium", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
26412
+ this.ariaLabel = input(void 0, {
26413
+ ...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
26414
+ alias: "aria-label"
26415
+ });
26416
+ this.s = weekStripStyles;
26417
+ this.scope = injectScope();
26418
+ this.focused = signal("", ...ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []);
26419
+ this.host = inject(ElementRef);
26420
+ this.lastValue = void 0;
26421
+ this.pendingFocus = null;
26422
+ this.rootClass = computed(() => {
26423
+ const size = this.size();
26424
+ return size === "small" || size === "large" ? `${this.s.weekStrip} ${this.s[size]}` : this.s.weekStrip;
26425
+ }, ...ngDevMode ? [{ debugName: "rootClass" }] : /* istanbul ignore next */ []);
26426
+ this.todayKey = computed(() => {
26427
+ const today = this.today();
26428
+ return today && parseDayKey(today) ? today : dayKey(/* @__PURE__ */ new Date());
26429
+ }, ...ngDevMode ? [{ debugName: "todayKey" }] : /* istanbul ignore next */ []);
26430
+ this.language = computed(() => this.locale() ?? this.scope.language(), ...ngDevMode ? [{ debugName: "language" }] : /* istanbul ignore next */ []);
26431
+ this.start = computed(() => {
26432
+ const week = this.week();
26433
+ const date = week instanceof Date && !Number.isNaN(week.getTime()) ? week : parseDayKey(this.value() ?? "") ?? parseDayKey(this.todayKey()) ?? /* @__PURE__ */ new Date();
26434
+ return weekStart(date, this.firstDayOfWeek());
26435
+ }, ...ngDevMode ? [{ debugName: "start" }] : /* istanbul ignore next */ []);
26436
+ this.heading = computed(() => {
26437
+ const start = this.start();
26438
+ const end = addDays(start, 6);
26439
+ const lang = this.language();
26440
+ const monthFormat = new Intl.DateTimeFormat(lang, {
26441
+ year: "numeric",
26442
+ month: "long"
26443
+ });
26444
+ if (start.getMonth() === end.getMonth()) return monthFormat.format(start);
26445
+ return `${new Intl.DateTimeFormat(lang, {
26446
+ month: "long",
26447
+ ...start.getFullYear() !== end.getFullYear() && { year: "numeric" }
26448
+ }).format(start)} – ${monthFormat.format(end)}`;
26449
+ }, ...ngDevMode ? [{ debugName: "heading" }] : /* istanbul ignore next */ []);
26450
+ this.days = computed(() => {
26451
+ const start = this.start();
26452
+ const dates = Array.from({ length: 7 }, (_, index) => addDays(start, index));
26453
+ const keys = dates.map(dayKey);
26454
+ const value = this.value();
26455
+ const todayKey = this.todayKey();
26456
+ const activeKey = [
26457
+ this.focused(),
26458
+ value,
26459
+ todayKey
26460
+ ].find((key) => !!key && keys.includes(key)) ?? keys[0];
26461
+ const longDate = new Intl.DateTimeFormat(this.language(), {
26462
+ weekday: "long",
26463
+ year: "numeric",
26464
+ month: "long",
26465
+ day: "numeric"
26466
+ });
26467
+ const markers = this.markers();
26468
+ const getDayLabel = this.getDayLabel();
26469
+ const weekdayLabels = this.weekdayLabels();
26470
+ const disabled = this.disabled();
26471
+ return dates.map((date) => {
26472
+ const key = dayKey(date);
26473
+ const marker = markers?.[key];
26474
+ const count = markerCount(marker);
26475
+ const index = (date.getDay() + 6) % 7;
26476
+ const text = longDate.format(date);
26477
+ const label = getDayLabel ? getDayLabel(key, marker) : count ? this.scope.t("weekStrip.dayWithMarkers", {
26478
+ date: text,
26479
+ count
26480
+ }) : marker === true ? this.scope.t("weekStrip.dayMarked", { date: text }) : text;
26481
+ return {
26482
+ date,
26483
+ key,
26484
+ count,
26485
+ dot: !count && marker === true,
26486
+ selected: value === key,
26487
+ today: key === todayKey,
26488
+ weekday: weekdayLabels?.[index] ?? this.scope.t(`monthCalendar.weekdays.${WEEKDAYS[index]}`),
26489
+ label,
26490
+ tabindex: !disabled && key === activeKey ? 0 : -1
26491
+ };
26492
+ });
26493
+ }, ...ngDevMode ? [{ debugName: "days" }] : /* istanbul ignore next */ []);
26494
+ afterEveryRender(() => {
26495
+ if (!this.pendingFocus || this.disabled()) return;
26496
+ const cell = this.host.nativeElement.querySelector(`[data-date="${this.pendingFocus}"]`);
26497
+ if (cell) {
26498
+ this.pendingFocus = null;
26499
+ cell.focus();
26500
+ }
26501
+ });
26502
+ effect(() => {
26503
+ const value = this.value();
26504
+ untracked(() => {
26505
+ const first = this.lastValue === void 0;
26506
+ if (value === this.lastValue) return;
26507
+ this.lastValue = value;
26508
+ const date = value ? parseDayKey(value) : null;
26509
+ if (!first && date) this.goToWeek(date);
26510
+ });
26511
+ });
26512
+ }
26513
+ markerClass(day) {
26514
+ return [
26515
+ this.s.marker,
26516
+ day.count ? this.s.count : "",
26517
+ day.dot ? this.s.dot : ""
26518
+ ].filter(Boolean).join(" ");
26519
+ }
26520
+ goToWeek(date) {
26521
+ const next = weekStart(date, this.firstDayOfWeek());
26522
+ if (dayKey(next) !== dayKey(this.start())) this.week.set(next);
26523
+ }
26524
+ moveWeek(offset) {
26525
+ if (!this.disabled()) this.goToWeek(addDays(this.start(), offset));
26526
+ }
26527
+ select(date) {
26528
+ if (this.disabled()) return;
26529
+ const key = dayKey(date);
26530
+ this.goToWeek(date);
26531
+ if (key !== this.value()) {
26532
+ this.lastValue = key;
26533
+ this.value.set(key);
26534
+ }
26535
+ }
26536
+ navigate(event, date) {
26537
+ if (this.disabled()) return;
26538
+ if (event.key === "Enter" || event.key === " ") {
26539
+ event.preventDefault();
26540
+ if (!event.repeat) this.select(date);
26541
+ return;
26542
+ }
26543
+ const start = this.start();
26544
+ let target;
26545
+ switch (logicalArrowKey(event.key, event.currentTarget)) {
26546
+ case "ArrowLeft":
26547
+ target = addDays(date, -1);
26548
+ break;
26549
+ case "ArrowRight":
26550
+ target = addDays(date, 1);
26551
+ break;
26552
+ case "Home":
26553
+ target = start;
26554
+ break;
26555
+ case "End":
26556
+ target = addDays(start, 6);
26557
+ break;
26558
+ case "PageUp":
26559
+ target = addDays(date, -7);
26560
+ break;
26561
+ case "PageDown":
26562
+ target = addDays(date, 7);
26563
+ break;
26564
+ default: return;
26565
+ }
26566
+ event.preventDefault();
26567
+ const key = dayKey(target);
26568
+ this.pendingFocus = key;
26569
+ this.focused.set(key);
26570
+ this.goToWeek(target);
26571
+ }
26572
+ focus(options) {
26573
+ this.host.nativeElement.querySelector("[role=\"option\"][tabindex=\"0\"]")?.focus(options);
26574
+ }
26575
+ static {
26576
+ this.ɵfac = i0.ɵɵngDeclareFactory({
26577
+ minVersion: "12.0.0",
26578
+ version: "22.2.2",
26579
+ ngImport: i0,
26580
+ type: MnWeekStrip,
26581
+ deps: [],
26582
+ target: i0.ɵɵFactoryTarget.Component
26583
+ });
26584
+ }
26585
+ static {
26586
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
26587
+ minVersion: "17.0.0",
26588
+ version: "22.2.2",
26589
+ type: MnWeekStrip,
26590
+ isStandalone: true,
26591
+ selector: "mn-week-strip",
26592
+ inputs: {
26593
+ value: {
26594
+ classPropertyName: "value",
26595
+ publicName: "value",
26596
+ isSignal: true,
26597
+ isRequired: false,
26598
+ transformFunction: null
26599
+ },
26600
+ week: {
26601
+ classPropertyName: "week",
26602
+ publicName: "week",
26603
+ isSignal: true,
26604
+ isRequired: false,
26605
+ transformFunction: null
26606
+ },
26607
+ firstDayOfWeek: {
26608
+ classPropertyName: "firstDayOfWeek",
26609
+ publicName: "firstDayOfWeek",
26610
+ isSignal: true,
26611
+ isRequired: false,
26612
+ transformFunction: null
26613
+ },
26614
+ today: {
26615
+ classPropertyName: "today",
26616
+ publicName: "today",
26617
+ isSignal: true,
26618
+ isRequired: false,
26619
+ transformFunction: null
26620
+ },
26621
+ markers: {
26622
+ classPropertyName: "markers",
26623
+ publicName: "markers",
26624
+ isSignal: true,
26625
+ isRequired: false,
26626
+ transformFunction: null
26627
+ },
26628
+ getDayLabel: {
26629
+ classPropertyName: "getDayLabel",
26630
+ publicName: "getDayLabel",
26631
+ isSignal: true,
26632
+ isRequired: false,
26633
+ transformFunction: null
26634
+ },
26635
+ showNavigation: {
26636
+ classPropertyName: "showNavigation",
26637
+ publicName: "showNavigation",
26638
+ isSignal: true,
26639
+ isRequired: false,
26640
+ transformFunction: null
26641
+ },
26642
+ previousWeekLabel: {
26643
+ classPropertyName: "previousWeekLabel",
26644
+ publicName: "previousWeekLabel",
26645
+ isSignal: true,
26646
+ isRequired: false,
26647
+ transformFunction: null
26648
+ },
26649
+ nextWeekLabel: {
26650
+ classPropertyName: "nextWeekLabel",
26651
+ publicName: "nextWeekLabel",
26652
+ isSignal: true,
26653
+ isRequired: false,
26654
+ transformFunction: null
26655
+ },
26656
+ weekdayLabels: {
26657
+ classPropertyName: "weekdayLabels",
26658
+ publicName: "weekdayLabels",
26659
+ isSignal: true,
26660
+ isRequired: false,
26661
+ transformFunction: null
26662
+ },
26663
+ locale: {
26664
+ classPropertyName: "locale",
26665
+ publicName: "locale",
26666
+ isSignal: true,
26667
+ isRequired: false,
26668
+ transformFunction: null
26669
+ },
26670
+ disabled: {
26671
+ classPropertyName: "disabled",
26672
+ publicName: "disabled",
26673
+ isSignal: true,
26674
+ isRequired: false,
26675
+ transformFunction: null
26676
+ },
26677
+ size: {
26678
+ classPropertyName: "size",
26679
+ publicName: "size",
26680
+ isSignal: true,
26681
+ isRequired: false,
26682
+ transformFunction: null
26683
+ },
26684
+ ariaLabel: {
26685
+ classPropertyName: "ariaLabel",
26686
+ publicName: "aria-label",
26687
+ isSignal: true,
26688
+ isRequired: false,
26689
+ transformFunction: null
26690
+ }
26691
+ },
26692
+ outputs: {
26693
+ value: "valueChange",
26694
+ week: "weekChange"
26695
+ },
26696
+ host: {
26697
+ attributes: {
26698
+ "data-minerva": "week-strip",
26699
+ "data-part": "root"
26700
+ },
26701
+ properties: {
26702
+ "attr.data-disabled": "disabled() ? '' : null",
26703
+ "attr.data-size": "size()",
26704
+ "class": "rootClass()"
26705
+ }
26706
+ },
26707
+ ngImport: i0,
26708
+ template: `@if (showNavigation()) {
26709
+ <div [class]="s.toolbar">
26710
+ <button
26711
+ type="button"
26712
+ mnHook="week-strip"
26713
+ mnPart="nav-button"
26714
+ [class]="s.navButton"
26715
+ [attr.aria-label]="
26716
+ previousWeekLabel() ?? scope.t('weekStrip.previousWeek')
26717
+ "
26718
+ [disabled]="disabled()"
26719
+ (click)="moveWeek(-7)"
26720
+ >
26721
+ <svg mnIcon="ChevronLeft"></svg>
26722
+ </button>
26723
+ <span
26724
+ mnHook="week-strip"
26725
+ mnPart="heading"
26726
+ [class]="s.heading"
26727
+ aria-live="polite"
26728
+ >{{ heading() }}</span
26729
+ >
26730
+ <button
26731
+ type="button"
26732
+ mnHook="week-strip"
26733
+ mnPart="nav-button"
26734
+ [class]="s.navButton"
26735
+ [attr.aria-label]="nextWeekLabel() ?? scope.t('weekStrip.nextWeek')"
26736
+ [disabled]="disabled()"
26737
+ (click)="moveWeek(7)"
26738
+ >
26739
+ <svg mnIcon="ChevronRight"></svg>
26740
+ </button>
26741
+ </div>
26742
+ }
26743
+ <div
26744
+ mnHook="week-strip"
26745
+ mnPart="list"
26746
+ role="listbox"
26747
+ aria-orientation="horizontal"
26748
+ [attr.aria-label]="ariaLabel() ?? scope.t('weekStrip.label')"
26749
+ [attr.aria-disabled]="disabled() ? 'true' : null"
26750
+ [class]="s.days"
26751
+ >
26752
+ @for (day of days(); track day.key) {
26753
+ <div
26754
+ role="option"
26755
+ mnHook="week-strip"
26756
+ mnPart="day"
26757
+ [mnStates]="{
26758
+ selected: day.selected,
26759
+ today: day.today,
26760
+ disabled: disabled(),
26761
+ }"
26762
+ [class]="s.day"
26763
+ [attr.data-date]="day.key"
26764
+ [attr.aria-label]="day.label"
26765
+ [attr.aria-selected]="day.selected"
26766
+ [attr.aria-current]="day.today ? 'date' : null"
26767
+ [attr.aria-disabled]="disabled() ? 'true' : null"
26768
+ [attr.tabindex]="day.tabindex"
26769
+ (focus)="focused.set(day.key)"
26770
+ (click)="select(day.date)"
26771
+ (keydown)="navigate($event, day.date)"
26772
+ >
26773
+ <span [class]="s.weekday" aria-hidden="true">{{ day.weekday }}</span>
26774
+ <span [class]="s.dayNumber" aria-hidden="true">{{
26775
+ day.date.getDate()
26776
+ }}</span>
26777
+ <span
26778
+ mnHook="week-strip"
26779
+ mnPart="indicator"
26780
+ [class]="markerClass(day)"
26781
+ aria-hidden="true"
26782
+ >{{ day.count ? (day.count > 99 ? "99+" : day.count) : "" }}</span
26783
+ >
26784
+ </div>
26785
+ }
26786
+ </div>`,
26787
+ isInline: true,
26788
+ dependencies: [{
26789
+ kind: "directive",
26790
+ type: MnHook,
26791
+ selector: "[mnHook]",
26792
+ inputs: [
26793
+ "mnHook",
26794
+ "mnPart",
26795
+ "mnStates"
26796
+ ]
26797
+ }, {
26798
+ kind: "component",
26799
+ type: MnIcon$1,
26800
+ selector: "svg[mnIcon]",
26801
+ inputs: ["mnIcon", "size"]
26802
+ }],
26803
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
26804
+ });
26805
+ }
26806
+ };
26807
+ i0.ɵɵngDeclareClassMetadata({
26808
+ minVersion: "12.0.0",
26809
+ version: "22.2.2",
26810
+ ngImport: i0,
26811
+ type: MnWeekStrip,
26812
+ decorators: [{
26813
+ type: Component,
26814
+ args: [{
26815
+ selector: "mn-week-strip",
26816
+ imports: [MnHook, MnIcon$1],
26817
+ changeDetection: ChangeDetectionStrategy.OnPush,
26818
+ host: {
26819
+ "data-minerva": "week-strip",
26820
+ "data-part": "root",
26821
+ "[attr.data-disabled]": "disabled() ? '' : null",
26822
+ "[attr.data-size]": "size()",
26823
+ "[class]": "rootClass()"
26824
+ },
26825
+ template: `@if (showNavigation()) {
26826
+ <div [class]="s.toolbar">
26827
+ <button
26828
+ type="button"
26829
+ mnHook="week-strip"
26830
+ mnPart="nav-button"
26831
+ [class]="s.navButton"
26832
+ [attr.aria-label]="
26833
+ previousWeekLabel() ?? scope.t('weekStrip.previousWeek')
26834
+ "
26835
+ [disabled]="disabled()"
26836
+ (click)="moveWeek(-7)"
26837
+ >
26838
+ <svg mnIcon="ChevronLeft"></svg>
26839
+ </button>
26840
+ <span
26841
+ mnHook="week-strip"
26842
+ mnPart="heading"
26843
+ [class]="s.heading"
26844
+ aria-live="polite"
26845
+ >{{ heading() }}</span
26846
+ >
26847
+ <button
26848
+ type="button"
26849
+ mnHook="week-strip"
26850
+ mnPart="nav-button"
26851
+ [class]="s.navButton"
26852
+ [attr.aria-label]="nextWeekLabel() ?? scope.t('weekStrip.nextWeek')"
26853
+ [disabled]="disabled()"
26854
+ (click)="moveWeek(7)"
26855
+ >
26856
+ <svg mnIcon="ChevronRight"></svg>
26857
+ </button>
26858
+ </div>
26859
+ }
26860
+ <div
26861
+ mnHook="week-strip"
26862
+ mnPart="list"
26863
+ role="listbox"
26864
+ aria-orientation="horizontal"
26865
+ [attr.aria-label]="ariaLabel() ?? scope.t('weekStrip.label')"
26866
+ [attr.aria-disabled]="disabled() ? 'true' : null"
26867
+ [class]="s.days"
26868
+ >
26869
+ @for (day of days(); track day.key) {
26870
+ <div
26871
+ role="option"
26872
+ mnHook="week-strip"
26873
+ mnPart="day"
26874
+ [mnStates]="{
26875
+ selected: day.selected,
26876
+ today: day.today,
26877
+ disabled: disabled(),
26878
+ }"
26879
+ [class]="s.day"
26880
+ [attr.data-date]="day.key"
26881
+ [attr.aria-label]="day.label"
26882
+ [attr.aria-selected]="day.selected"
26883
+ [attr.aria-current]="day.today ? 'date' : null"
26884
+ [attr.aria-disabled]="disabled() ? 'true' : null"
26885
+ [attr.tabindex]="day.tabindex"
26886
+ (focus)="focused.set(day.key)"
26887
+ (click)="select(day.date)"
26888
+ (keydown)="navigate($event, day.date)"
26889
+ >
26890
+ <span [class]="s.weekday" aria-hidden="true">{{ day.weekday }}</span>
26891
+ <span [class]="s.dayNumber" aria-hidden="true">{{
26892
+ day.date.getDate()
26893
+ }}</span>
26894
+ <span
26895
+ mnHook="week-strip"
26896
+ mnPart="indicator"
26897
+ [class]="markerClass(day)"
26898
+ aria-hidden="true"
26899
+ >{{ day.count ? (day.count > 99 ? "99+" : day.count) : "" }}</span
26900
+ >
26901
+ </div>
26902
+ }
26903
+ </div>`
26904
+ }]
26905
+ }],
26906
+ ctorParameters: () => [],
26907
+ propDecorators: {
26908
+ value: [{
26909
+ type: i0.Input,
26910
+ args: [{
26911
+ isSignal: true,
26912
+ alias: "value",
26913
+ required: false
26914
+ }]
26915
+ }, {
26916
+ type: i0.Output,
26917
+ args: ["valueChange"]
26918
+ }],
26919
+ week: [{
26920
+ type: i0.Input,
26921
+ args: [{
26922
+ isSignal: true,
26923
+ alias: "week",
26924
+ required: false
26925
+ }]
26926
+ }, {
26927
+ type: i0.Output,
26928
+ args: ["weekChange"]
26929
+ }],
26930
+ firstDayOfWeek: [{
26931
+ type: i0.Input,
26932
+ args: [{
26933
+ isSignal: true,
26934
+ alias: "firstDayOfWeek",
26935
+ required: false
26936
+ }]
26937
+ }],
26938
+ today: [{
26939
+ type: i0.Input,
26940
+ args: [{
26941
+ isSignal: true,
26942
+ alias: "today",
26943
+ required: false
26944
+ }]
26945
+ }],
26946
+ markers: [{
26947
+ type: i0.Input,
26948
+ args: [{
26949
+ isSignal: true,
26950
+ alias: "markers",
26951
+ required: false
26952
+ }]
26953
+ }],
26954
+ getDayLabel: [{
26955
+ type: i0.Input,
26956
+ args: [{
26957
+ isSignal: true,
26958
+ alias: "getDayLabel",
26959
+ required: false
26960
+ }]
26961
+ }],
26962
+ showNavigation: [{
26963
+ type: i0.Input,
26964
+ args: [{
26965
+ isSignal: true,
26966
+ alias: "showNavigation",
26967
+ required: false
26968
+ }]
26969
+ }],
26970
+ previousWeekLabel: [{
26971
+ type: i0.Input,
26972
+ args: [{
26973
+ isSignal: true,
26974
+ alias: "previousWeekLabel",
26975
+ required: false
26976
+ }]
26977
+ }],
26978
+ nextWeekLabel: [{
26979
+ type: i0.Input,
26980
+ args: [{
26981
+ isSignal: true,
26982
+ alias: "nextWeekLabel",
26983
+ required: false
26984
+ }]
26985
+ }],
26986
+ weekdayLabels: [{
26987
+ type: i0.Input,
26988
+ args: [{
26989
+ isSignal: true,
26990
+ alias: "weekdayLabels",
26991
+ required: false
26992
+ }]
26993
+ }],
26994
+ locale: [{
26995
+ type: i0.Input,
26996
+ args: [{
26997
+ isSignal: true,
26998
+ alias: "locale",
26999
+ required: false
27000
+ }]
27001
+ }],
27002
+ disabled: [{
27003
+ type: i0.Input,
27004
+ args: [{
27005
+ isSignal: true,
27006
+ alias: "disabled",
27007
+ required: false
27008
+ }]
27009
+ }],
27010
+ size: [{
27011
+ type: i0.Input,
27012
+ args: [{
27013
+ isSignal: true,
27014
+ alias: "size",
27015
+ required: false
27016
+ }]
27017
+ }],
27018
+ ariaLabel: [{
27019
+ type: i0.Input,
27020
+ args: [{
27021
+ isSignal: true,
27022
+ alias: "aria-label",
27023
+ required: false
27024
+ }]
27025
+ }]
27026
+ }
27027
+ });
25968
27028
  var MnJsonField = class MnJsonField extends MnFormValueControl {
25969
27029
  constructor() {
25970
27030
  super(...arguments);
@@ -42072,6 +43132,6 @@ i0.ɵɵngDeclareClassMetadata({
42072
43132
  }]
42073
43133
  }
42074
43134
  });
42075
- export { CHART_SURFACE, MN_RADIO_GROUP, MN_SCOPE, MinervaScope, MnAlert, MnAppShell, MnAreaChart, MnAutoComplete, MnAvatar, MnAvatarGroup, MnBadge, MnBar3DChart, MnBarChart, MnBookWidgetBase, MnBox, MnBoxPlotChart, MnBubbleChart, MnBulletChart, MnButton, MnCalendarHeatmap, MnCandlestickChart, MnCard, MnCardContent, MnCardDescription, MnCardFooter, MnCardHeader, MnCardTitle, MnCartesianChartBase, MnCascader, MnCascaderPanel, MnChart, MnChart3DBase, MnChartEngine, MnCheckbox, MnChordChart, MnCodeBlock, MnCommandDialog, MnConfig, MnConfirmDialog, MnConfirmProvider, MnConfirmService, MnContextMenu, MnDataTable, MnDatePicker, MnDependencyGraph, MnDepthChart, MnDescriptionList, MnDivider, MnDonutChart, MnDrawer, MnDrawerBody, MnDrawerClose, MnDrawerFooter, MnDrawerHeader, MnDrawerTrigger, MnDynamicIcon, MnEmpty, MnFieldBase, MnFloatingBase, MnFormControl, MnFormErrorMessage, MnFormField, MnFormHelperText, MnFormLabel, MnFormLayout, MnFunnelChart, MnGanttChart, MnGaugeChart, MnGraphChart, MnGraphChartBase, MnGridItem, MnHStack, MnHeatmapChart, MnHistogramChart, MnHorizontalBarChart, MnHtmlPreview, MnIcon, MnIconBase, MnIconButton, MnIconCanvas, MnInput, MnJsonField, MnKeyValueEditor, MnLine3DChart, MnLineChart, MnList, MnListItem, MnLoadingState, MnMenu, MnMenuBase, MnMixedChart, MnModal, MnModalBody, MnModalClose, MnModalFooter, MnModalHeader, MnModalTrigger, MnMonthCalendar, MnNavTree, MnNumberInput, MnOrderBook, MnOrderBookHeatmap, MnPage, MnPageHeader, MnPageSection, MnPageTab, MnPageTabs, MnPagination, MnPaletteToggle, MnPieBase, MnPieChart, MnPopover, MnPopoverAnchor, MnPopoverClose, MnProgressIndicator, MnProse, MnQuadrantChart, MnRadarChart, MnRadialBarChart, MnRadio, MnRadioGroup, MnRangeAreaChart, MnRating, MnRatingScale, MnResponsiveGrid, MnSankeyChart, MnScatter3DChart, MnScatterChart, MnSelect, MnSelectGroup, MnSelectItem, MnSelectLabel, MnSelectSeparator, MnSeriesChartBase, MnShapeChart, MnShapeChartBase, MnShapeChartCommon, MnSkeleton, MnSkeletonText, MnSparkline, MnSplitLayout, MnStack, MnStackBase, MnStatCard, MnSteps, MnSunburstChart, MnSurface3DChart, MnSwitch, MnTab, MnTabPanel, MnTableBody, MnTableCell, MnTableCellContent, MnTableHead, MnTableHeader, MnTableRoot, MnTableRow, MnTabs, MnTag, MnTagInput, MnTextLink, MnTextarea, MnThemeToggle, MnTimeAndSales, MnTimePicker, MnTimePickerPanel, MnToastRegion, MnToastService, MnToolbar, MnTooltip, MnTooltipProvider, MnTradingChart, MnTreeChart, MnTreemapChart, MnUpload, MnVStack, MnVirtualList, MnWaterfallChart, THEME_SCOPE_ATTRIBUTE, injectMinerva, optionalBoolean, provideEmbeddedMinerva, provideMinerva, sameGraphOptions, themeModeOf, withSeriesType };
43135
+ export { CHART_SURFACE, MN_RADIO_GROUP, MN_SCOPE, MinervaScope, MnAlert, MnAppShell, MnAreaChart, MnAutoComplete, MnAvatar, MnAvatarGroup, MnBadge, MnBar3DChart, MnBarChart, MnBookWidgetBase, MnBox, MnBoxPlotChart, MnBubbleChart, MnBulletChart, MnButton, MnCalendarHeatmap, MnCandlestickChart, MnCard, MnCardContent, MnCardDescription, MnCardFooter, MnCardHeader, MnCardTitle, MnCartesianChartBase, MnCascader, MnCascaderPanel, MnChart, MnChart3DBase, MnChartEngine, MnCheckbox, MnChordChart, MnCodeBlock, MnCommandDialog, MnConfig, MnConfirmDialog, MnConfirmProvider, MnConfirmService, MnContextMenu, MnDataTable, MnDatePicker, MnDependencyGraph, MnDepthChart, MnDescriptionList, MnDivider, MnDonutChart, MnDrawer, MnDrawerBody, MnDrawerClose, MnDrawerFooter, MnDrawerHeader, MnDrawerTrigger, MnDynamicIcon, MnEmpty, MnFieldBase, MnFloatingBase, MnFormControl, MnFormErrorMessage, MnFormField, MnFormHelperText, MnFormLabel, MnFormLayout, MnFunnelChart, MnGanttChart, MnGaugeChart, MnGraphChart, MnGraphChartBase, MnGridItem, MnHStack, MnHeatmapChart, MnHistogramChart, MnHorizontalBarChart, MnHtmlPreview, MnIcon, MnIconBase, MnIconButton, MnIconCanvas, MnInput, MnJsonField, MnKeyValueEditor, MnLine3DChart, MnLineChart, MnList, MnListItem, MnLoadingState, MnMenu, MnMenuBase, MnMixedChart, MnModal, MnModalBody, MnModalClose, MnModalFooter, MnModalHeader, MnModalTrigger, MnMonthCalendar, MnNavTree, MnNumberInput, MnOrderBook, MnOrderBookHeatmap, MnPage, MnPageHeader, MnPageSection, MnPageTab, MnPageTabs, MnPagination, MnPaletteToggle, MnPieBase, MnPieChart, MnPopover, MnPopoverAnchor, MnPopoverClose, MnProgressIndicator, MnProse, MnQuadrantChart, MnRadarChart, MnRadialBarChart, MnRadio, MnRadioGroup, MnRangeAreaChart, MnRating, MnRatingScale, MnResponsiveGrid, MnSankeyChart, MnScatter3DChart, MnScatterChart, MnSelect, MnSelectGroup, MnSelectItem, MnSelectLabel, MnSelectSeparator, MnSeriesChartBase, MnShapeChart, MnShapeChartBase, MnShapeChartCommon, MnSkeleton, MnSkeletonText, MnSparkline, MnSplitLayout, MnStack, MnStackBase, MnStatCard, MnSteps, MnSunburstChart, MnSurface3DChart, MnSwitch, MnTab, MnTabPanel, MnTableBody, MnTableCell, MnTableCellContent, MnTableHead, MnTableHeader, MnTableRoot, MnTableRow, MnTabs, MnTag, MnTagInput, MnTextLink, MnTextarea, MnThemeToggle, MnTimeAndSales, MnTimePicker, MnTimePickerPanel, MnToastRegion, MnToastService, MnToolbar, MnTooltip, MnTooltipProvider, MnTradingChart, MnTreeChart, MnTreemapChart, MnUpload, MnVStack, MnVirtualList, MnWaterfallChart, MnWeekStrip, THEME_SCOPE_ATTRIBUTE, injectMinerva, optionalBoolean, provideEmbeddedMinerva, provideMinerva, sameGraphOptions, themeModeOf, withSeriesType };
42076
43136
 
42077
43137
  //# sourceMappingURL=minerva-angular.mjs.map