minerva-design 1.0.0 → 1.0.2

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 (138) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/custom-elements.json +663 -0
  3. package/dist/angular/fesm2022/minerva-angular.mjs +1163 -34
  4. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  5. package/dist/angular/types/minerva-angular.d.ts +237 -1
  6. package/dist/core/calendar-date.d.cts +5 -0
  7. package/dist/core/calendar-date.d.ts +5 -0
  8. package/dist/core/contracts.cjs +1 -1
  9. package/dist/core/contracts.cjs.map +1 -1
  10. package/dist/core/contracts.js +1 -1
  11. package/dist/core/contracts.js.map +1 -1
  12. package/dist/core/index.cjs +6 -6
  13. package/dist/core/index.cjs.map +1 -1
  14. package/dist/core/index.js +671 -630
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/styling-hooks/components/date-picker.d.cts +45 -0
  17. package/dist/core/styling-hooks/components/date-picker.d.ts +45 -0
  18. package/dist/core/styling-hooks/manifest.d.cts +44 -0
  19. package/dist/core/styling-hooks/manifest.d.ts +44 -0
  20. package/dist/core/styling-hooks.cjs +1 -1
  21. package/dist/core/styling-hooks.cjs.map +1 -1
  22. package/dist/core/styling-hooks.js +62 -0
  23. package/dist/core/styling-hooks.js.map +1 -1
  24. package/dist/native/components/Calendar/Calendar.cjs +1 -1
  25. package/dist/native/components/Calendar/Calendar.cjs.map +1 -1
  26. package/dist/native/components/Calendar/Calendar.d.cts +2 -0
  27. package/dist/native/components/Calendar/Calendar.d.ts +2 -0
  28. package/dist/native/components/Calendar/Calendar.js +115 -112
  29. package/dist/native/components/Calendar/Calendar.js.map +1 -1
  30. package/dist/native/components/Checkbox/Checkbox.cjs +1 -1
  31. package/dist/native/components/Checkbox/Checkbox.cjs.map +1 -1
  32. package/dist/native/components/Checkbox/Checkbox.js +8 -8
  33. package/dist/native/components/Checkbox/CheckboxGroup.cjs +1 -1
  34. package/dist/native/components/Checkbox/CheckboxGroup.cjs.map +1 -1
  35. package/dist/native/components/Checkbox/CheckboxGroup.js +6 -6
  36. package/dist/native/components/DatePicker/DatePicker.cjs +2 -0
  37. package/dist/native/components/DatePicker/DatePicker.cjs.map +1 -0
  38. package/dist/native/components/DatePicker/DatePicker.d.cts +40 -0
  39. package/dist/native/components/DatePicker/DatePicker.d.ts +40 -0
  40. package/dist/native/components/DatePicker/DatePicker.js +110 -0
  41. package/dist/native/components/DatePicker/DatePicker.js.map +1 -0
  42. package/dist/native/components/DatePicker/index.cjs +1 -0
  43. package/dist/native/components/DatePicker/index.d.cts +2 -0
  44. package/dist/native/components/DatePicker/index.d.ts +2 -0
  45. package/dist/native/components/DatePicker/index.js +2 -0
  46. package/dist/native/components/Radio/RadioGroup.cjs +1 -1
  47. package/dist/native/components/Radio/RadioGroup.cjs.map +1 -1
  48. package/dist/native/components/Radio/RadioGroup.js +9 -9
  49. package/dist/native/components/Switch/Switch.cjs +1 -1
  50. package/dist/native/components/Switch/Switch.cjs.map +1 -1
  51. package/dist/native/components/Switch/Switch.js +23 -23
  52. package/dist/native/components/Switch/Switch.js.map +1 -1
  53. package/dist/native/index.cjs +1 -1
  54. package/dist/native/index.d.cts +1 -0
  55. package/dist/native/index.d.ts +1 -0
  56. package/dist/native/index.js +70 -68
  57. package/dist/native/source/components/Calendar/Calendar.tsx +14 -6
  58. package/dist/native/source/components/DatePicker/DatePicker.tsx +201 -0
  59. package/dist/native/source/components/DatePicker/index.ts +2 -0
  60. package/dist/native/source/index.ts +1 -0
  61. package/dist/native/source/manifest.ts +6 -0
  62. package/dist/react/components/DatePicker/DatePicker.cjs +2 -0
  63. package/dist/react/components/DatePicker/DatePicker.cjs.map +1 -0
  64. package/dist/react/components/DatePicker/DatePicker.d.cts +13 -0
  65. package/dist/react/components/DatePicker/DatePicker.d.ts +13 -0
  66. package/dist/react/components/DatePicker/DatePicker.js +315 -0
  67. package/dist/react/components/DatePicker/DatePicker.js.map +1 -0
  68. package/dist/react/components/DatePicker/datePicker.module.scss.cjs +2 -0
  69. package/dist/react/components/DatePicker/datePicker.module.scss.cjs.map +1 -0
  70. package/dist/react/components/DatePicker/datePicker.module.scss.js +23 -0
  71. package/dist/react/components/DatePicker/datePicker.module.scss.js.map +1 -0
  72. package/dist/react/components/DatePicker/index.cjs +1 -0
  73. package/dist/react/components/DatePicker/index.d.cts +5 -0
  74. package/dist/react/components/DatePicker/index.d.ts +5 -0
  75. package/dist/react/components/DatePicker/index.js +3 -0
  76. package/dist/react/components/DatePicker/types.d.cts +97 -0
  77. package/dist/react/components/DatePicker/types.d.ts +97 -0
  78. package/dist/react/components/Tooltip/Tooltip.cjs +1 -1
  79. package/dist/react/components/Tooltip/Tooltip.cjs.map +1 -1
  80. package/dist/react/components/Tooltip/Tooltip.js +5 -5
  81. package/dist/react/components/Tooltip/Tooltip.js.map +1 -1
  82. package/dist/react/components/index.cjs +1 -1
  83. package/dist/react/components/index.d.cts +1 -0
  84. package/dist/react/components/index.d.ts +1 -0
  85. package/dist/react/components/index.js +3 -1
  86. package/dist/react/index.cjs +1 -1
  87. package/dist/react/index.js +7 -6
  88. package/dist/react/style.css +1 -0
  89. package/dist/react/styles/date-picker.css +7 -0
  90. package/dist/taro/date-picker.d.ts +20 -0
  91. package/dist/taro/index.d.ts +1 -0
  92. package/dist/taro/index.js +1155 -990
  93. package/dist/uni/DatePicker.vue +225 -0
  94. package/dist/uni/DatePicker.vue.d.ts +36 -0
  95. package/dist/uni/MonthCalendar.vue +2 -0
  96. package/dist/uni/MonthCalendar.vue.d.ts +2 -0
  97. package/dist/uni/index.d.ts +1 -0
  98. package/dist/uni/index.js +1 -0
  99. package/dist/uni/manifest.d.ts +7 -0
  100. package/dist/uni/manifest.js +8 -0
  101. package/dist/vue/components/DatePicker/DatePicker.vue.d.ts +36 -0
  102. package/dist/vue/components/DatePicker/DatePicker.vue.js +7 -0
  103. package/dist/vue/components/DatePicker/DatePicker.vue.js.map +1 -0
  104. package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +380 -0
  105. package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  106. package/dist/vue/components/DatePicker/index.d.ts +2 -0
  107. package/dist/vue/components/DatePicker/index.js +2 -0
  108. package/dist/vue/components/DatePicker/types.d.ts +26 -0
  109. package/dist/vue/components/MonthCalendar/MonthCalendar.vue.d.ts +1 -1
  110. package/dist/vue/global.d.ts +108 -0
  111. package/dist/vue/groups/forms-pickers.d.ts +1 -0
  112. package/dist/vue/groups/forms-pickers.js +5 -2
  113. package/dist/vue/groups/forms-pickers.js.map +1 -1
  114. package/dist/vue/index.js +95 -94
  115. package/dist/weapp/controls.js +259 -76
  116. package/dist/weapp/date-picker/index.js +1 -0
  117. package/dist/weapp/date-picker/index.json +1 -0
  118. package/dist/weapp/date-picker/index.wxml +1 -0
  119. package/dist/weapp/date-picker/index.wxss +1 -0
  120. package/dist/weapp/types.d.ts +19 -0
  121. package/dist/web-components/cdn/minerva.js +461 -335
  122. package/dist/web-components/cdn/minerva.js.map +1 -1
  123. package/dist/web-components/components/date-picker/date-picker.d.ts +110 -0
  124. package/dist/web-components/components/date-picker/date-picker.js +378 -0
  125. package/dist/web-components/components/date-picker/date-picker.js.map +1 -0
  126. package/dist/web-components/elements/date-picker.d.ts +1 -0
  127. package/dist/web-components/elements/date-picker.js +8 -0
  128. package/dist/web-components/elements/date-picker.js.map +1 -0
  129. package/dist/web-components/html-custom-data.json +85 -0
  130. package/dist/web-components/index.d.ts +1 -0
  131. package/dist/web-components/index.js +8 -6
  132. package/dist/web-components/styles/DatePicker/datePicker.css.js +6 -0
  133. package/dist/web-components/styles/DatePicker/datePicker.css.js.map +1 -0
  134. package/dist/web-components/types/react.d.ts +12 -0
  135. package/dist/web-components/types/solid.d.ts +9 -0
  136. package/dist/web-components/types/svelte.d.ts +9 -0
  137. package/dist/web-components/types/vue.d.ts +10 -0
  138. package/package.json +9 -1
@@ -1,7 +1,7 @@
1
1
  import { DOCUMENT, NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
2
2
  import * as i0 from "@angular/core";
3
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, matchesAccept, messages, monthStart, parseNumberDraft, parseTimeInput, presetPalette, resolveDesign, resolveSize, resolveSpace, resolveTimeFormat, sameMonth, splitBySeparators, startOfToday, translate } from "../../core/index.js";
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
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";
6
6
  import { FormGroupDirective, NG_VALUE_ACCESSOR, NgControl, NgForm } from "@angular/forms";
7
7
  import { DomSanitizer } from "@angular/platform-browser";
@@ -951,6 +951,23 @@ const commandStyles = {
951
951
  search: "_search_ddj2h_50",
952
952
  searchIcon: "_searchIcon_ddj2h_74"
953
953
  };
954
+ const datePickerStyles = {
955
+ calendarIcon: "_calendarIcon_6el17_22",
956
+ clearButton: "_clearButton_6el17_6",
957
+ datePicker: "_datePicker_6el17_1",
958
+ day: "_day_6el17_111",
959
+ footer: "_footer_6el17_157",
960
+ footerButton: "_footerButton_6el17_165",
961
+ grid: "_grid_6el17_92",
962
+ header: "_header_6el17_46",
963
+ heading: "_heading_6el17_54",
964
+ navButton: "_navButton_6el17_67",
965
+ navGroup: "_navGroup_6el17_61",
966
+ panel: "_panel_6el17_34",
967
+ popup: "_popup_6el17_29",
968
+ week: "_week_6el17_96",
969
+ weekday: "_weekday_6el17_103"
970
+ };
954
971
  const descriptionListStyles = {
955
972
  bordered: "_bordered_1v9yl_51",
956
973
  descriptionList: "_descriptionList_1v9yl_1",
@@ -2230,13 +2247,13 @@ const PLACEMENT$1 = {
2230
2247
  top: switchStyles.labelTop,
2231
2248
  bottom: switchStyles.labelBottom
2232
2249
  };
2233
- const optionalBoolean$8 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
2250
+ const optionalBoolean$9 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
2234
2251
  var MnSwitch = class MnSwitch extends MnFormValueControl {
2235
2252
  constructor() {
2236
2253
  super();
2237
2254
  this.checked = input(void 0, {
2238
2255
  ...ngDevMode ? { debugName: "checked" } : /* istanbul ignore next */ {},
2239
- transform: optionalBoolean$8
2256
+ transform: optionalBoolean$9
2240
2257
  });
2241
2258
  this.checkedChange = output();
2242
2259
  this.defaultChecked = input(false, {
@@ -2245,7 +2262,7 @@ var MnSwitch = class MnSwitch extends MnFormValueControl {
2245
2262
  });
2246
2263
  this.disabled = input(void 0, {
2247
2264
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
2248
- transform: optionalBoolean$8
2265
+ transform: optionalBoolean$9
2249
2266
  });
2250
2267
  this.invalid = input(false, {
2251
2268
  ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
@@ -4722,7 +4739,7 @@ const PLACEMENT = {
4722
4739
  left: "left-start",
4723
4740
  right: "right-start"
4724
4741
  };
4725
- const optionalBoolean$7 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
4742
+ const optionalBoolean$8 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
4726
4743
  var MnAutoComplete = class MnAutoComplete extends MnFormValueControl {
4727
4744
  constructor() {
4728
4745
  super();
@@ -4768,7 +4785,7 @@ var MnAutoComplete = class MnAutoComplete extends MnFormValueControl {
4768
4785
  });
4769
4786
  this.disabled = input(void 0, {
4770
4787
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
4771
- transform: optionalBoolean$7
4788
+ transform: optionalBoolean$8
4772
4789
  });
4773
4790
  this.readOnly = input(false, {
4774
4791
  ...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
@@ -6788,7 +6805,7 @@ i0.ɵɵngDeclareClassMetadata({
6788
6805
  }
6789
6806
  });
6790
6807
  const EMPTY_VALUE = [];
6791
- const optionalBoolean$6 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
6808
+ const optionalBoolean$7 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
6792
6809
  const widthAttribute = (value) => {
6793
6810
  if (typeof value === "number") return value;
6794
6811
  const text = String(value ?? "");
@@ -6806,7 +6823,7 @@ var MnCascader = class MnCascader extends MnFormValueControl {
6806
6823
  this.displayRender = input(void 0, ...ngDevMode ? [{ debugName: "displayRender" }] : /* istanbul ignore next */ []);
6807
6824
  this.disabled = input(void 0, {
6808
6825
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
6809
- transform: optionalBoolean$6
6826
+ transform: optionalBoolean$7
6810
6827
  });
6811
6828
  this.placeholder = input(void 0, ...ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []);
6812
6829
  this.allowClear = input(true, {
@@ -6829,15 +6846,15 @@ var MnCascader = class MnCascader extends MnFormValueControl {
6829
6846
  this.id = input(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
6830
6847
  this.required = input(void 0, {
6831
6848
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
6832
- transform: optionalBoolean$6
6849
+ transform: optionalBoolean$7
6833
6850
  });
6834
6851
  this.readOnly = input(void 0, {
6835
6852
  ...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
6836
- transform: optionalBoolean$6
6853
+ transform: optionalBoolean$7
6837
6854
  });
6838
6855
  this.invalid = input(void 0, {
6839
6856
  ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
6840
- transform: optionalBoolean$6
6857
+ transform: optionalBoolean$7
6841
6858
  });
6842
6859
  this.showSearch = input(false, {
6843
6860
  ...ngDevMode ? { debugName: "showSearch" } : /* istanbul ignore next */ {},
@@ -7934,7 +7951,7 @@ function emptyContent(element, deps = () => void 0) {
7934
7951
  } });
7935
7952
  return empty.asReadonly();
7936
7953
  }
7937
- const optionalBoolean$5 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
7954
+ const optionalBoolean$6 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
7938
7955
  const capitalize = (value) => value.charAt(0).toUpperCase() + value.slice(1);
7939
7956
  var MnCheckbox = class MnCheckbox extends MnFormValueControl {
7940
7957
  constructor() {
@@ -7947,7 +7964,7 @@ var MnCheckbox = class MnCheckbox extends MnFormValueControl {
7947
7964
  });
7948
7965
  this.disabled = input(void 0, {
7949
7966
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
7950
- transform: optionalBoolean$5
7967
+ transform: optionalBoolean$6
7951
7968
  });
7952
7969
  this.indeterminate = input(false, {
7953
7970
  ...ngDevMode ? { debugName: "indeterminate" } : /* istanbul ignore next */ {},
@@ -7975,7 +7992,7 @@ var MnCheckbox = class MnCheckbox extends MnFormValueControl {
7975
7992
  this.icon = input(void 0, ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
7976
7993
  this.required = input(void 0, {
7977
7994
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
7978
- transform: optionalBoolean$5
7995
+ transform: optionalBoolean$6
7979
7996
  });
7980
7997
  this.error = input(false, {
7981
7998
  ...ngDevMode ? { debugName: "error" } : /* istanbul ignore next */ {},
@@ -9412,7 +9429,7 @@ i0.ɵɵngDeclareClassMetadata({
9412
9429
  }]
9413
9430
  }]
9414
9431
  });
9415
- const optionalBoolean$4 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
9432
+ const optionalBoolean$5 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
9416
9433
  var MnFieldBase = class MnFieldBase {
9417
9434
  fallbackInvalid() {
9418
9435
  return this.controlInvalid();
@@ -9420,7 +9437,7 @@ var MnFieldBase = class MnFieldBase {
9420
9437
  constructor() {
9421
9438
  this.invalid = input(void 0, {
9422
9439
  ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
9423
- transform: optionalBoolean$4
9440
+ transform: optionalBoolean$5
9424
9441
  });
9425
9442
  this.required = input(false, {
9426
9443
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
@@ -12208,7 +12225,7 @@ i0.ɵɵngDeclareClassMetadata({
12208
12225
  }
12209
12226
  });
12210
12227
  const MN_RADIO_GROUP = new InjectionToken("MN_RADIO_GROUP");
12211
- const optionalBoolean$3 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
12228
+ const optionalBoolean$4 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
12212
12229
  var MnRadioGroup = class MnRadioGroup extends MnFormValueControl {
12213
12230
  constructor() {
12214
12231
  super(...arguments);
@@ -12231,7 +12248,7 @@ var MnRadioGroup = class MnRadioGroup extends MnFormValueControl {
12231
12248
  this.id = input(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
12232
12249
  this.disabled = input(void 0, {
12233
12250
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
12234
- transform: optionalBoolean$3
12251
+ transform: optionalBoolean$4
12235
12252
  });
12236
12253
  this.direction = input("vertical", ...ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []);
12237
12254
  this.size = input(void 0, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
@@ -12242,7 +12259,7 @@ var MnRadioGroup = class MnRadioGroup extends MnFormValueControl {
12242
12259
  this.helperText = input(void 0, ...ngDevMode ? [{ debugName: "helperText" }] : /* istanbul ignore next */ []);
12243
12260
  this.required = input(void 0, {
12244
12261
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
12245
- transform: optionalBoolean$3
12262
+ transform: optionalBoolean$4
12246
12263
  });
12247
12264
  this.color = input(void 0, ...ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []);
12248
12265
  this.s = radioStyles;
@@ -12727,7 +12744,7 @@ i0.ɵɵngDeclareClassMetadata({
12727
12744
  }]
12728
12745
  }
12729
12746
  });
12730
- const optionalBoolean$2 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
12747
+ const optionalBoolean$3 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
12731
12748
  var MnRadioRegistry = class MnRadioRegistry {
12732
12749
  constructor() {
12733
12750
  this.radios = /* @__PURE__ */ new Set();
@@ -12780,7 +12797,7 @@ var MnRadio = class MnRadio {
12780
12797
  });
12781
12798
  this.disabled = input(void 0, {
12782
12799
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
12783
- transform: optionalBoolean$2
12800
+ transform: optionalBoolean$3
12784
12801
  });
12785
12802
  this.name = input(void 0, ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
12786
12803
  this.value = input(void 0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
@@ -14351,7 +14368,7 @@ const getOptions = (listbox) => Array.from(listbox.querySelectorAll(OPTION_SELEC
14351
14368
  const isOptionDisabled = (option) => option.getAttribute("aria-disabled") === "true";
14352
14369
  const findOption = (listbox, value) => value === null ? void 0 : getOptions(listbox).find((option) => option.dataset["value"] === value);
14353
14370
  const isPrintable = (event) => event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey;
14354
- const optionalBoolean$1 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
14371
+ const optionalBoolean$2 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
14355
14372
  const VISUALLY_HIDDEN = "position: absolute; border: 0; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; word-wrap: normal";
14356
14373
  var MnSelect = class MnSelect extends MnFormValueControl {
14357
14374
  constructor() {
@@ -14371,11 +14388,11 @@ var MnSelect = class MnSelect extends MnFormValueControl {
14371
14388
  });
14372
14389
  this.disabled = input(void 0, {
14373
14390
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
14374
- transform: optionalBoolean$1
14391
+ transform: optionalBoolean$2
14375
14392
  });
14376
14393
  this.required = input(void 0, {
14377
14394
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
14378
- transform: optionalBoolean$1
14395
+ transform: optionalBoolean$2
14379
14396
  });
14380
14397
  this.name = input(void 0, ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
14381
14398
  this.id = input(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
@@ -17543,13 +17560,13 @@ i0.ɵɵngDeclareClassMetadata({
17543
17560
  }]
17544
17561
  }
17545
17562
  });
17546
- const optionalBoolean = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
17547
- function adjacentTabbable(anchor, container, backwards) {
17563
+ const optionalBoolean$1 = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
17564
+ function adjacentTabbable$1(anchor, container, backwards) {
17548
17565
  const tabbables = getTabbables(container).filter((el) => el !== anchor && !anchor.contains(el) && !el.contains(anchor));
17549
17566
  const follows = (el) => !!(anchor.compareDocumentPosition(el) & Node.DOCUMENT_POSITION_FOLLOWING);
17550
17567
  return backwards ? [...tabbables].reverse().find((el) => !follows(el)) ?? null : tabbables.find(follows) ?? null;
17551
17568
  }
17552
- function tabLeavesPanel(panel, focused, backwards) {
17569
+ function tabLeavesPanel$1(panel, focused, backwards) {
17553
17570
  if (!focused || !panel.contains(focused)) return false;
17554
17571
  const tabbables = getTabbables(panel);
17555
17572
  if (tabbables.length === 0) return true;
@@ -17584,20 +17601,20 @@ var MnTimePicker = class MnTimePicker extends MnFormValueControl {
17584
17601
  this.id = input(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
17585
17602
  this.required = input(void 0, {
17586
17603
  ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
17587
- transform: optionalBoolean
17604
+ transform: optionalBoolean$1
17588
17605
  });
17589
17606
  this.readOnly = input(void 0, {
17590
17607
  ...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
17591
- transform: optionalBoolean
17608
+ transform: optionalBoolean$1
17592
17609
  });
17593
17610
  this.invalid = input(void 0, {
17594
17611
  ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
17595
- transform: optionalBoolean
17612
+ transform: optionalBoolean$1
17596
17613
  });
17597
17614
  this.name = input("time-picker", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
17598
17615
  this.disabled = input(void 0, {
17599
17616
  ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
17600
- transform: optionalBoolean
17617
+ transform: optionalBoolean$1
17601
17618
  });
17602
17619
  this.clearable = input(true, {
17603
17620
  ...ngDevMode ? { debugName: "clearable" } : /* istanbul ignore next */ {},
@@ -17785,10 +17802,10 @@ var MnTimePicker = class MnTimePicker extends MnFormValueControl {
17785
17802
  onPanelKeyDown(event) {
17786
17803
  const panel = event.currentTarget;
17787
17804
  const input = this.inputRef().nativeElement;
17788
- if (event.key !== "Tab" || event.altKey || event.ctrlKey || event.metaKey || !tabLeavesPanel(panel, event.target, event.shiftKey)) return;
17805
+ if (event.key !== "Tab" || event.altKey || event.ctrlKey || event.metaKey || !tabLeavesPanel$1(panel, event.target, event.shiftKey)) return;
17789
17806
  event.preventDefault();
17790
17807
  const container = input.closest("[role=\"dialog\"], [role=\"alertdialog\"]") ?? input.ownerDocument.body;
17791
- (event.shiftKey ? input : adjacentTabbable(input, container, false) ?? input).focus();
17808
+ (event.shiftKey ? input : adjacentTabbable$1(input, container, false) ?? input).focus();
17792
17809
  this.setOpen(false);
17793
17810
  }
17794
17811
  static {
@@ -32018,6 +32035,1118 @@ i0.ɵɵngDeclareClassMetadata({
32018
32035
  }]
32019
32036
  }]
32020
32037
  });
32021
- export { MN_RADIO_GROUP, MN_SCOPE, MinervaScope, MnAlert, MnAppShell, MnAutoComplete, MnAvatar, MnAvatarGroup, MnBadge, MnBox, MnButton, MnCard, MnCardContent, MnCardDescription, MnCardFooter, MnCardHeader, MnCardTitle, MnCascader, MnCascaderPanel, MnCheckbox, MnCodeBlock, MnCommandDialog, MnConfig, MnConfirmDialog, MnConfirmProvider, MnConfirmService, MnContextMenu, MnDataTable, MnDescriptionList, MnDivider, MnDrawer, MnDrawerBody, MnDrawerClose, MnDrawerFooter, MnDrawerHeader, MnDrawerTrigger, MnEmpty, MnFieldBase, MnFloatingBase, MnFormControl, MnFormErrorMessage, MnFormField, MnFormHelperText, MnFormLabel, MnFormLayout, MnGridItem, MnHStack, MnHtmlPreview, MnIconButton, MnInput, MnJsonField, MnKeyValueEditor, MnList, MnListItem, MnLoadingState, MnMenu, MnMenuBase, MnModal, MnModalBody, MnModalClose, MnModalFooter, MnModalHeader, MnModalTrigger, MnMonthCalendar, MnNavTree, MnNumberInput, MnPage, MnPageHeader, MnPageSection, MnPageTab, MnPageTabs, MnPagination, MnPaletteToggle, MnPopover, MnPopoverAnchor, MnPopoverClose, MnProgressIndicator, MnProse, MnRadio, MnRadioGroup, MnRating, MnRatingScale, MnResponsiveGrid, MnSelect, MnSelectGroup, MnSelectItem, MnSelectLabel, MnSelectSeparator, MnSkeleton, MnSkeletonText, MnSplitLayout, MnStack, MnStackBase, MnStatCard, MnSteps, MnSwitch, MnTab, MnTabPanel, MnTableBody, MnTableCell, MnTableCellContent, MnTableHead, MnTableHeader, MnTableRoot, MnTableRow, MnTabs, MnTag, MnTagInput, MnTextLink, MnTextarea, MnThemeToggle, MnTimePicker, MnTimePickerPanel, MnToastRegion, MnToastService, MnToolbar, MnTooltip, MnTooltipProvider, MnUpload, MnVStack, MnVirtualList, THEME_SCOPE_ATTRIBUTE, injectMinerva, provideEmbeddedMinerva, provideMinerva, themeModeOf };
32038
+ const optionalBoolean = (value) => value === void 0 || value === null ? void 0 : booleanAttribute(value);
32039
+ function adjacentTabbable(anchor, container, backwards) {
32040
+ const tabbables = getTabbables(container).filter((el) => el !== anchor && !anchor.contains(el) && !el.contains(anchor));
32041
+ const follows = (el) => !!(anchor.compareDocumentPosition(el) & Node.DOCUMENT_POSITION_FOLLOWING);
32042
+ return backwards ? [...tabbables].reverse().find((el) => !follows(el)) ?? null : tabbables.find(follows) ?? null;
32043
+ }
32044
+ function tabLeavesPanel(panel, focused, backwards) {
32045
+ if (!focused || !panel.contains(focused)) return false;
32046
+ const tabbables = getTabbables(panel);
32047
+ if (tabbables.length === 0) return true;
32048
+ if (backwards) return focused === panel || focused === tabbables[0];
32049
+ return focused === tabbables[tabbables.length - 1];
32050
+ }
32051
+ var MnDatePicker = class MnDatePicker extends MnFormValueControl {
32052
+ dayDisabled(key) {
32053
+ return !!(this.minDate() && key < this.minDate() || this.maxDate() && key > this.maxDate());
32054
+ }
32055
+ navigateMonth(offset) {
32056
+ this.month.set(monthStart(this.month(), offset));
32057
+ }
32058
+ syncMonth() {
32059
+ const date = parseDayKey(this.current());
32060
+ if (date) this.month.set(monthStart(date));
32061
+ }
32062
+ selectToday() {
32063
+ this.selectDate(/* @__PURE__ */ new Date());
32064
+ }
32065
+ selectDate(date) {
32066
+ if (this.isDisabled() || this.isReadOnly() || this.dayDisabled(dayKey(date))) return;
32067
+ this.draft.set(null);
32068
+ this.commit(dayKey(date));
32069
+ this.month.set(monthStart(date));
32070
+ this.setOpen(false);
32071
+ this.focus();
32072
+ }
32073
+ onDayKeyDown(event, date) {
32074
+ if (this.isDisabled() || this.isReadOnly()) return;
32075
+ if (event.key === "Enter" || event.key === " ") {
32076
+ event.preventDefault();
32077
+ if (!event.repeat) this.selectDate(date);
32078
+ return;
32079
+ }
32080
+ let target;
32081
+ const weekday = (date.getDay() + 6) % 7;
32082
+ let key = event.key;
32083
+ if (getDirection(event.currentTarget) === "rtl") {
32084
+ if (key === "ArrowLeft") key = "ArrowRight";
32085
+ else if (key === "ArrowRight") key = "ArrowLeft";
32086
+ }
32087
+ switch (key) {
32088
+ case "ArrowLeft":
32089
+ target = addDays(date, -1);
32090
+ break;
32091
+ case "ArrowRight":
32092
+ target = addDays(date, 1);
32093
+ break;
32094
+ case "ArrowUp":
32095
+ target = addDays(date, -7);
32096
+ break;
32097
+ case "ArrowDown":
32098
+ target = addDays(date, 7);
32099
+ break;
32100
+ case "Home":
32101
+ target = addDays(date, -weekday);
32102
+ break;
32103
+ case "End":
32104
+ target = addDays(date, 6 - weekday);
32105
+ break;
32106
+ case "PageUp":
32107
+ case "PageDown": {
32108
+ const next = monthStart(date, (key === "PageUp" ? -1 : 1) * (event.shiftKey ? 12 : 1));
32109
+ target = localDate(next.getFullYear(), next.getMonth(), Math.min(date.getDate(), addDays(monthStart(next, 1), -1).getDate()));
32110
+ break;
32111
+ }
32112
+ default: return;
32113
+ }
32114
+ event.preventDefault();
32115
+ this.focusedKey.set(dayKey(target));
32116
+ this.pendingFocus.set(dayKey(target));
32117
+ if (!sameMonth(target, this.month())) this.month.set(monthStart(target));
32118
+ }
32119
+ constructor() {
32120
+ super();
32121
+ this.value = input(void 0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
32122
+ this.valueChange = output();
32123
+ this.change = output();
32124
+ this.defaultValue = input(void 0, ...ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []);
32125
+ this.open = model(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
32126
+ this.placeholder = input(void 0, ...ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []);
32127
+ this.label = input(void 0, ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
32128
+ this.ariaLabel = input(void 0, {
32129
+ ...ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {},
32130
+ alias: "aria-label"
32131
+ });
32132
+ this.ariaLabelledby = input(void 0, {
32133
+ ...ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {},
32134
+ alias: "aria-labelledby"
32135
+ });
32136
+ this.ariaDescribedby = input(void 0, {
32137
+ ...ngDevMode ? { debugName: "ariaDescribedby" } : /* istanbul ignore next */ {},
32138
+ alias: "aria-describedby"
32139
+ });
32140
+ this.id = input(void 0, ...ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []);
32141
+ this.required = input(void 0, {
32142
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
32143
+ transform: optionalBoolean
32144
+ });
32145
+ this.readOnly = input(void 0, {
32146
+ ...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
32147
+ transform: optionalBoolean
32148
+ });
32149
+ this.invalid = input(void 0, {
32150
+ ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
32151
+ transform: optionalBoolean
32152
+ });
32153
+ this.name = input("date-picker", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
32154
+ this.disabled = input(void 0, {
32155
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
32156
+ transform: optionalBoolean
32157
+ });
32158
+ this.clearable = input(true, {
32159
+ ...ngDevMode ? { debugName: "clearable" } : /* istanbul ignore next */ {},
32160
+ transform: booleanAttribute
32161
+ });
32162
+ this.size = input("medium", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
32163
+ this.minDate = input(void 0, ...ngDevMode ? [{ debugName: "minDate" }] : /* istanbul ignore next */ []);
32164
+ this.maxDate = input(void 0, ...ngDevMode ? [{ debugName: "maxDate" }] : /* istanbul ignore next */ []);
32165
+ this.locale = input(void 0, ...ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []);
32166
+ this.s = datePickerStyles;
32167
+ this.is = inputStyles;
32168
+ this.ib = iconButtonStyles;
32169
+ this.scope = injectScope();
32170
+ this.fieldContext = injectFormField();
32171
+ this.field = fieldWiring(this.fieldContext, {
32172
+ id: () => this.id(),
32173
+ describedBy: () => this.ariaDescribedby()
32174
+ });
32175
+ this.host = inject(ElementRef);
32176
+ this.inputRef = viewChild.required("input", ...ngDevMode ? [{ debugName: "inputRef" }] : /* istanbul ignore next */ []);
32177
+ this.panelRef = viewChild("panel", ...ngDevMode ? [{ debugName: "panelRef" }] : /* istanbul ignore next */ []);
32178
+ this.isDisabled = computed(() => this.disabled() ?? (this.formDisabled() || (this.fieldContext?.disabled() ?? false)), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
32179
+ this.isReadOnly = computed(() => this.readOnly() ?? this.fieldContext?.readOnly() ?? false, ...ngDevMode ? [{ debugName: "isReadOnly" }] : /* istanbul ignore next */ []);
32180
+ this.isRequired = computed(() => this.required() ?? this.fieldContext?.required() ?? false, ...ngDevMode ? [{ debugName: "isRequired" }] : /* istanbul ignore next */ []);
32181
+ this.isInvalid = computed(() => this.invalid() ?? ((this.fieldContext?.invalid() ?? false) || this.controlInvalid()), ...ngDevMode ? [{ debugName: "isInvalid" }] : /* istanbul ignore next */ []);
32182
+ this.isOpen = computed(() => this.open() && !this.isDisabled() && !this.isReadOnly(), ...ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []);
32183
+ this.accessibleName = computed(() => this.label() ?? this.ariaLabel() ?? this.scope.t("datePicker.label"), ...ngDevMode ? [{ debugName: "accessibleName" }] : /* istanbul ignore next */ []);
32184
+ this.labelledBy = computed(() => this.ariaLabelledby() ?? (this.fieldContext && !this.label() && !this.ariaLabel() ? this.fieldContext.labelId() : null), ...ngDevMode ? [{ debugName: "labelledBy" }] : /* istanbul ignore next */ []);
32185
+ this.internal = signal(void 0, ...ngDevMode ? [{ debugName: "internal" }] : /* istanbul ignore next */ []);
32186
+ this.current = computed(() => {
32187
+ const value = this.value();
32188
+ return value === void 0 ? this.formValue() ?? this.internal() ?? this.defaultValue() ?? "" : value ?? "";
32189
+ }, ...ngDevMode ? [{ debugName: "current" }] : /* istanbul ignore next */ []);
32190
+ this.draft = signal(null, ...ngDevMode ? [{ debugName: "draft" }] : /* istanbul ignore next */ []);
32191
+ this.displayValue = computed(() => this.draft() ?? this.current(), ...ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []);
32192
+ this.headingId = injectId("date-picker-heading");
32193
+ this.weekdays = [
32194
+ "mon",
32195
+ "tue",
32196
+ "wed",
32197
+ "thu",
32198
+ "fri",
32199
+ "sat",
32200
+ "sun"
32201
+ ];
32202
+ this.todayKey = dayKey(/* @__PURE__ */ new Date());
32203
+ this.month = signal(monthStart(/* @__PURE__ */ new Date()), ...ngDevMode ? [{ debugName: "month" }] : /* istanbul ignore next */ []);
32204
+ this.focusedKey = signal("", ...ngDevMode ? [{ debugName: "focusedKey" }] : /* istanbul ignore next */ []);
32205
+ this.pendingFocus = signal(null, ...ngDevMode ? [{ debugName: "pendingFocus" }] : /* istanbul ignore next */ []);
32206
+ this.key = dayKey;
32207
+ this.outside = (date) => !sameMonth(date, this.month());
32208
+ this.heading = computed(() => new Intl.DateTimeFormat(this.locale() ?? this.scope.language(), {
32209
+ year: "numeric",
32210
+ month: "long"
32211
+ }).format(this.month()), ...ngDevMode ? [{ debugName: "heading" }] : /* istanbul ignore next */ []);
32212
+ this.days = computed(() => {
32213
+ const first = monthStart(this.month());
32214
+ const start = addDays(first, -((first.getDay() + 6) % 7));
32215
+ return Array.from({ length: 42 }, (_, i) => addDays(start, i));
32216
+ }, ...ngDevMode ? [{ debugName: "days" }] : /* istanbul ignore next */ []);
32217
+ this.weeks = computed(() => Array.from({ length: 6 }, (_, i) => this.days().slice(i * 7, i * 7 + 7)), ...ngDevMode ? [{ debugName: "weeks" }] : /* istanbul ignore next */ []);
32218
+ this.activeKey = computed(() => {
32219
+ const keys = this.days().map(dayKey);
32220
+ return [
32221
+ this.focusedKey(),
32222
+ this.current(),
32223
+ this.todayKey,
32224
+ dayKey(this.month()),
32225
+ ...keys
32226
+ ].find((key) => key && keys.includes(key) && !this.dayDisabled(key));
32227
+ }, ...ngDevMode ? [{ debugName: "activeKey" }] : /* istanbul ignore next */ []);
32228
+ this.showClear = computed(() => this.clearable() && !!this.current() && !this.isDisabled() && !this.isReadOnly(), ...ngDevMode ? [{ debugName: "showClear" }] : /* istanbul ignore next */ []);
32229
+ this.placement = signal("bottom-start", ...ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []);
32230
+ this.panelDir = signal(void 0, ...ngDevMode ? [{ debugName: "panelDir" }] : /* istanbul ignore next */ []);
32231
+ this.inputRootClass = computed(() => cn(inputStyles.root, inputStyles.outline, classOf(inputStyles, this.size()), this.isInvalid() && inputStyles.invalid, this.isDisabled() && inputStyles.disabled), ...ngDevMode ? [{ debugName: "inputRootClass" }] : /* istanbul ignore next */ []);
32232
+ this.suffixClass = cn(inputStyles.addon, inputStyles.end);
32233
+ this.clearClass = cn(iconButtonStyles.iconButton, iconButtonStyles.neutral, iconButtonStyles["variant-ghost"], iconButtonStyles.small, iconButtonStyles.circle, datePickerStyles.clearButton);
32234
+ this.clearStates = {
32235
+ state: "inactive",
32236
+ size: "small",
32237
+ variant: "ghost",
32238
+ color: "neutral",
32239
+ shape: "circle"
32240
+ };
32241
+ this.contentStates = computed(() => {
32242
+ const placement = this.placement();
32243
+ const { side, align } = parsePlacement(placement);
32244
+ return {
32245
+ state: "open",
32246
+ side,
32247
+ align,
32248
+ placement
32249
+ };
32250
+ }, ...ngDevMode ? [{ debugName: "contentStates" }] : /* istanbul ignore next */ []);
32251
+ const panel = () => this.panelRef()?.nativeElement;
32252
+ anchoredPosition({
32253
+ anchor: () => this.inputRef().nativeElement,
32254
+ floating: panel,
32255
+ active: () => this.isOpen(),
32256
+ placement: "bottom-start",
32257
+ onPosition: (result) => this.placement.set(result.placement)
32258
+ });
32259
+ overlayLayer({
32260
+ element: panel,
32261
+ active: () => this.isOpen(),
32262
+ branches: () => [this.host.nativeElement],
32263
+ autoFocus: false,
32264
+ restoreFocus: () => false,
32265
+ onEscapeKeyDown: (event) => {
32266
+ if (event.defaultPrevented) return;
32267
+ const element = panel();
32268
+ const doc = element?.ownerDocument;
32269
+ if (element && doc && element.contains(doc.activeElement)) this.inputRef().nativeElement.focus();
32270
+ },
32271
+ onDismiss: () => this.setOpen(false)
32272
+ });
32273
+ afterRenderEffect(() => {
32274
+ const element = panel();
32275
+ const pending = this.pendingFocus();
32276
+ if (!element || !this.isOpen() || pending === null) return;
32277
+ untracked(() => {
32278
+ const cell = pending ? element.querySelector(`[data-date="${pending}"]`) : element.querySelector("[role=\"gridcell\"][tabindex=\"0\"]");
32279
+ if (cell) {
32280
+ this.pendingFocus.set(null);
32281
+ cell.focus();
32282
+ }
32283
+ });
32284
+ });
32285
+ afterRenderEffect(() => {
32286
+ const element = panel();
32287
+ if (!element || !this.isOpen()) return;
32288
+ untracked(() => {
32289
+ const anchorDir = getDirection(this.inputRef().nativeElement);
32290
+ const containerDir = element.parentElement ? getDirection(element.parentElement) : anchorDir;
32291
+ this.panelDir.set(anchorDir === containerDir ? void 0 : anchorDir);
32292
+ });
32293
+ });
32294
+ }
32295
+ ngOnInit() {
32296
+ this.internal.set(this.defaultValue() ?? "");
32297
+ super.ngOnInit();
32298
+ }
32299
+ writeValue(value) {
32300
+ this.draft.set(null);
32301
+ super.writeValue(value ?? "");
32302
+ }
32303
+ focus(options) {
32304
+ this.inputRef().nativeElement.focus(options);
32305
+ }
32306
+ setOpen(next) {
32307
+ if (this.open() !== next) this.open.set(next);
32308
+ }
32309
+ commit(next) {
32310
+ this.internal.set(next);
32311
+ this.valueChange.emit(next);
32312
+ this.change.emit(next);
32313
+ this.notifyChange(next);
32314
+ }
32315
+ onInput(text) {
32316
+ if (this.isDisabled() || this.isReadOnly()) return;
32317
+ this.draft.set(text);
32318
+ if (text === "") {
32319
+ this.commit("");
32320
+ return;
32321
+ }
32322
+ const date = parseDayKey(text, true);
32323
+ if (date && !this.dayDisabled(dayKey(date))) {
32324
+ this.commit(dayKey(date));
32325
+ this.month.set(monthStart(date));
32326
+ }
32327
+ }
32328
+ onBlur() {
32329
+ this.notifyTouched();
32330
+ const draft = this.draft();
32331
+ if (draft === null) return;
32332
+ const text = draft.trim();
32333
+ if (!this.isDisabled() && !this.isReadOnly()) {
32334
+ if (!text) {
32335
+ if (this.current()) this.commit("");
32336
+ } else {
32337
+ const date = parseDayKey(text, false);
32338
+ if (date && !this.dayDisabled(dayKey(date)) && dayKey(date) !== this.current()) {
32339
+ this.commit(dayKey(date));
32340
+ this.month.set(monthStart(date));
32341
+ }
32342
+ }
32343
+ }
32344
+ this.draft.set(null);
32345
+ this.inputRef().nativeElement.value = this.displayValue();
32346
+ }
32347
+ clear() {
32348
+ if (this.isDisabled() || this.isReadOnly()) return;
32349
+ this.draft.set(null);
32350
+ this.commit("");
32351
+ this.focus();
32352
+ }
32353
+ onRootClick(event) {
32354
+ if (event.target !== this.inputRef().nativeElement) return;
32355
+ if (this.isDisabled() || this.isReadOnly()) return;
32356
+ if (!this.open()) this.syncMonth();
32357
+ this.setOpen(!this.open());
32358
+ }
32359
+ onInputKeyDown(event) {
32360
+ if (event.key !== "ArrowDown") return;
32361
+ event.preventDefault();
32362
+ if (this.isDisabled() || this.isReadOnly()) return;
32363
+ if (!this.open()) {
32364
+ this.syncMonth();
32365
+ this.focusedKey.set(this.current());
32366
+ this.pendingFocus.set("");
32367
+ this.setOpen(true);
32368
+ } else this.panelRef()?.nativeElement.querySelector("[role=\"gridcell\"][tabindex=\"0\"]")?.focus();
32369
+ }
32370
+ onPanelKeyDown(event) {
32371
+ const panel = event.currentTarget;
32372
+ const input = this.inputRef().nativeElement;
32373
+ if (event.key !== "Tab" || event.altKey || event.ctrlKey || event.metaKey || !tabLeavesPanel(panel, event.target, event.shiftKey)) return;
32374
+ event.preventDefault();
32375
+ const container = input.closest("[role=\"dialog\"], [role=\"alertdialog\"]") ?? input.ownerDocument.body;
32376
+ (event.shiftKey ? input : adjacentTabbable(input, container, false) ?? input).focus();
32377
+ this.setOpen(false);
32378
+ }
32379
+ static {
32380
+ this.ɵfac = i0.ɵɵngDeclareFactory({
32381
+ minVersion: "12.0.0",
32382
+ version: "22.2.2",
32383
+ ngImport: i0,
32384
+ type: MnDatePicker,
32385
+ deps: [],
32386
+ target: i0.ɵɵFactoryTarget.Component
32387
+ });
32388
+ }
32389
+ static {
32390
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
32391
+ minVersion: "17.0.0",
32392
+ version: "22.2.2",
32393
+ type: MnDatePicker,
32394
+ isStandalone: true,
32395
+ selector: "mn-date-picker",
32396
+ inputs: {
32397
+ value: {
32398
+ classPropertyName: "value",
32399
+ publicName: "value",
32400
+ isSignal: true,
32401
+ isRequired: false,
32402
+ transformFunction: null
32403
+ },
32404
+ defaultValue: {
32405
+ classPropertyName: "defaultValue",
32406
+ publicName: "defaultValue",
32407
+ isSignal: true,
32408
+ isRequired: false,
32409
+ transformFunction: null
32410
+ },
32411
+ open: {
32412
+ classPropertyName: "open",
32413
+ publicName: "open",
32414
+ isSignal: true,
32415
+ isRequired: false,
32416
+ transformFunction: null
32417
+ },
32418
+ placeholder: {
32419
+ classPropertyName: "placeholder",
32420
+ publicName: "placeholder",
32421
+ isSignal: true,
32422
+ isRequired: false,
32423
+ transformFunction: null
32424
+ },
32425
+ label: {
32426
+ classPropertyName: "label",
32427
+ publicName: "label",
32428
+ isSignal: true,
32429
+ isRequired: false,
32430
+ transformFunction: null
32431
+ },
32432
+ ariaLabel: {
32433
+ classPropertyName: "ariaLabel",
32434
+ publicName: "aria-label",
32435
+ isSignal: true,
32436
+ isRequired: false,
32437
+ transformFunction: null
32438
+ },
32439
+ ariaLabelledby: {
32440
+ classPropertyName: "ariaLabelledby",
32441
+ publicName: "aria-labelledby",
32442
+ isSignal: true,
32443
+ isRequired: false,
32444
+ transformFunction: null
32445
+ },
32446
+ ariaDescribedby: {
32447
+ classPropertyName: "ariaDescribedby",
32448
+ publicName: "aria-describedby",
32449
+ isSignal: true,
32450
+ isRequired: false,
32451
+ transformFunction: null
32452
+ },
32453
+ id: {
32454
+ classPropertyName: "id",
32455
+ publicName: "id",
32456
+ isSignal: true,
32457
+ isRequired: false,
32458
+ transformFunction: null
32459
+ },
32460
+ required: {
32461
+ classPropertyName: "required",
32462
+ publicName: "required",
32463
+ isSignal: true,
32464
+ isRequired: false,
32465
+ transformFunction: null
32466
+ },
32467
+ readOnly: {
32468
+ classPropertyName: "readOnly",
32469
+ publicName: "readOnly",
32470
+ isSignal: true,
32471
+ isRequired: false,
32472
+ transformFunction: null
32473
+ },
32474
+ invalid: {
32475
+ classPropertyName: "invalid",
32476
+ publicName: "invalid",
32477
+ isSignal: true,
32478
+ isRequired: false,
32479
+ transformFunction: null
32480
+ },
32481
+ name: {
32482
+ classPropertyName: "name",
32483
+ publicName: "name",
32484
+ isSignal: true,
32485
+ isRequired: false,
32486
+ transformFunction: null
32487
+ },
32488
+ disabled: {
32489
+ classPropertyName: "disabled",
32490
+ publicName: "disabled",
32491
+ isSignal: true,
32492
+ isRequired: false,
32493
+ transformFunction: null
32494
+ },
32495
+ clearable: {
32496
+ classPropertyName: "clearable",
32497
+ publicName: "clearable",
32498
+ isSignal: true,
32499
+ isRequired: false,
32500
+ transformFunction: null
32501
+ },
32502
+ size: {
32503
+ classPropertyName: "size",
32504
+ publicName: "size",
32505
+ isSignal: true,
32506
+ isRequired: false,
32507
+ transformFunction: null
32508
+ },
32509
+ minDate: {
32510
+ classPropertyName: "minDate",
32511
+ publicName: "minDate",
32512
+ isSignal: true,
32513
+ isRequired: false,
32514
+ transformFunction: null
32515
+ },
32516
+ maxDate: {
32517
+ classPropertyName: "maxDate",
32518
+ publicName: "maxDate",
32519
+ isSignal: true,
32520
+ isRequired: false,
32521
+ transformFunction: null
32522
+ },
32523
+ locale: {
32524
+ classPropertyName: "locale",
32525
+ publicName: "locale",
32526
+ isSignal: true,
32527
+ isRequired: false,
32528
+ transformFunction: null
32529
+ }
32530
+ },
32531
+ outputs: {
32532
+ valueChange: "valueChange",
32533
+ change: "change",
32534
+ open: "openChange"
32535
+ },
32536
+ host: {
32537
+ listeners: { "click": "onRootClick($event)" },
32538
+ properties: {
32539
+ "class": "s.datePicker",
32540
+ "attr.id": "null",
32541
+ "attr.aria-label": "null",
32542
+ "attr.aria-labelledby": "null",
32543
+ "attr.aria-describedby": "null",
32544
+ "attr.name": "null",
32545
+ "attr.placeholder": "null",
32546
+ "attr.label": "null",
32547
+ "attr.disabled": "null",
32548
+ "attr.readonly": "null",
32549
+ "attr.required": "null",
32550
+ "attr.invalid": "null",
32551
+ "attr.data-minerva": "\"date-picker\"",
32552
+ "attr.data-part": "\"root\"",
32553
+ "attr.data-state": "isOpen() ? \"open\" : \"closed\"",
32554
+ "attr.data-disabled": "isDisabled() ? \"\" : null",
32555
+ "attr.data-readonly": "isReadOnly() ? \"\" : null",
32556
+ "attr.data-invalid": "isInvalid() ? \"\" : null",
32557
+ "attr.data-size": "size()"
32558
+ }
32559
+ },
32560
+ providers: [provideValueAccessor(() => MnDatePicker)],
32561
+ viewQueries: [{
32562
+ propertyName: "inputRef",
32563
+ first: true,
32564
+ predicate: ["input"],
32565
+ descendants: true,
32566
+ isSignal: true
32567
+ }, {
32568
+ propertyName: "panelRef",
32569
+ first: true,
32570
+ predicate: ["panel"],
32571
+ descendants: true,
32572
+ isSignal: true
32573
+ }],
32574
+ exportAs: ["mnDatePicker"],
32575
+ usesInheritance: true,
32576
+ ngImport: i0,
32577
+ template: `
32578
+ <div
32579
+ [class]="inputRootClass()"
32580
+ data-component="input"
32581
+ mnHook="input"
32582
+ [mnStates]="{
32583
+ disabled: isDisabled(),
32584
+ invalid: isInvalid(),
32585
+ readonly: isReadOnly(),
32586
+ required: isRequired(),
32587
+ size: size(),
32588
+ variant: 'outline',
32589
+ }"
32590
+ >
32591
+ <input
32592
+ #input
32593
+ type="text"
32594
+ [class]="is.field"
32595
+ [value]="displayValue()"
32596
+ [attr.placeholder]="placeholder() ?? scope.t('datePicker.placeholder')"
32597
+ [attr.id]="field.id()"
32598
+ [attr.aria-label]="accessibleName()"
32599
+ [attr.aria-labelledby]="labelledBy()"
32600
+ [attr.aria-describedby]="field.describedBy()"
32601
+ [attr.aria-invalid]="isInvalid() ? 'true' : null"
32602
+ [attr.aria-readonly]="isReadOnly() ? 'true' : null"
32603
+ [required]="isRequired()"
32604
+ [readOnly]="isReadOnly()"
32605
+ [attr.name]="name()"
32606
+ [disabled]="isDisabled()"
32607
+ (input)="onInput(input.value)"
32608
+ (blur)="onBlur()"
32609
+ (keydown)="onInputKeyDown($event)"
32610
+ mnHook="input"
32611
+ mnPart="input"
32612
+ />
32613
+ <span [class]="suffixClass" mnHook="input" mnPart="suffix">
32614
+ @if (showClear()) {
32615
+ <button
32616
+ type="button"
32617
+ [class]="clearClass"
32618
+ tabindex="0"
32619
+ [attr.aria-label]="scope.t('datePicker.clear')"
32620
+ (click)="clear()"
32621
+ mnHook="icon-button"
32622
+ [mnStates]="clearStates"
32623
+ >
32624
+ <span
32625
+ [class]="ib.glyph"
32626
+ aria-hidden="true"
32627
+ mnHook="icon-button"
32628
+ mnPart="icon"
32629
+ >
32630
+ <svg mnIcon="X"></svg>
32631
+ </span>
32632
+ </button>
32633
+ } @else {
32634
+ <span
32635
+ [class]="s.calendarIcon"
32636
+ aria-hidden="true"
32637
+ mnHook="date-picker"
32638
+ mnPart="icon"
32639
+ >
32640
+ <svg mnIcon="Calendar"></svg>
32641
+ </span>
32642
+ }
32643
+ </span>
32644
+ </div>
32645
+ @if (isOpen()) {
32646
+ <div
32647
+ *mnPortal
32648
+ #panel
32649
+ role="dialog"
32650
+ tabindex="-1"
32651
+ [attr.dir]="panelDir() ?? null"
32652
+ [attr.aria-label]="accessibleName()"
32653
+ [attr.aria-labelledby]="labelledBy()"
32654
+ [class]="s.popup"
32655
+ (keydown)="onPanelKeyDown($event)"
32656
+ mnHook="date-picker"
32657
+ mnPart="content"
32658
+ [mnStates]="contentStates()"
32659
+ >
32660
+ <div [class]="s.panel">
32661
+ <div [class]="s.header">
32662
+ <h2 [id]="headingId" [class]="s.heading" aria-live="polite">
32663
+ {{ heading() }}
32664
+ </h2>
32665
+ <div [class]="s.navGroup">
32666
+ <button
32667
+ type="button"
32668
+ [class]="s.navButton"
32669
+ [attr.aria-label]="scope.t('monthCalendar.previousMonth')"
32670
+ (click)="navigateMonth(-1)"
32671
+ >
32672
+ <svg mnIcon="ChevronLeft"></svg>
32673
+ </button>
32674
+ <button
32675
+ type="button"
32676
+ [class]="s.navButton"
32677
+ [attr.aria-label]="scope.t('monthCalendar.nextMonth')"
32678
+ (click)="navigateMonth(1)"
32679
+ >
32680
+ <svg mnIcon="ChevronRight"></svg>
32681
+ </button>
32682
+ </div>
32683
+ </div>
32684
+ <div role="grid" [attr.aria-labelledby]="headingId" [class]="s.grid">
32685
+ <div role="row" [class]="s.week">
32686
+ @for (day of weekdays; track day) {
32687
+ <div role="columnheader" [class]="s.weekday">
32688
+ {{ scope.t("monthCalendar.weekdays." + day) }}
32689
+ </div>
32690
+ }
32691
+ </div>
32692
+ @for (week of weeks(); track $index) {
32693
+ <div role="row" [class]="s.week">
32694
+ @for (date of week; track key(date)) {
32695
+ <div
32696
+ role="gridcell"
32697
+ [class]="s.day"
32698
+ [attr.data-date]="key(date)"
32699
+ [attr.data-outside]="outside(date) ? '' : null"
32700
+ [attr.aria-label]="key(date)"
32701
+ [attr.aria-selected]="current() === key(date)"
32702
+ [attr.aria-current]="key(date) === todayKey ? 'date' : null"
32703
+ [attr.aria-disabled]="
32704
+ dayDisabled(key(date)) ? 'true' : null
32705
+ "
32706
+ [tabIndex]="key(date) === activeKey() ? 0 : -1"
32707
+ (focus)="focusedKey.set(key(date))"
32708
+ (click)="selectDate(date)"
32709
+ (keydown)="onDayKeyDown($event, date)"
32710
+ >
32711
+ {{ date.getDate() }}
32712
+ </div>
32713
+ }
32714
+ </div>
32715
+ }
32716
+ </div>
32717
+ <div [class]="s.footer">
32718
+ <button
32719
+ type="button"
32720
+ [class]="s.footerButton"
32721
+ [disabled]="dayDisabled(todayKey)"
32722
+ (click)="selectToday()"
32723
+ >
32724
+ {{ scope.t("datePicker.today") }}
32725
+ </button>
32726
+ @if (clearable() && current()) {
32727
+ <button
32728
+ type="button"
32729
+ [class]="s.footerButton"
32730
+ (click)="clear(); setOpen(false)"
32731
+ >
32732
+ {{ scope.t("datePicker.clear") }}
32733
+ </button>
32734
+ }
32735
+ </div>
32736
+ </div>
32737
+ </div>
32738
+ }
32739
+ `,
32740
+ isInline: true,
32741
+ dependencies: [
32742
+ {
32743
+ kind: "directive",
32744
+ type: MnHook,
32745
+ selector: "[mnHook]",
32746
+ inputs: [
32747
+ "mnHook",
32748
+ "mnPart",
32749
+ "mnStates"
32750
+ ]
32751
+ },
32752
+ {
32753
+ kind: "component",
32754
+ type: MnIcon,
32755
+ selector: "svg[mnIcon]",
32756
+ inputs: ["mnIcon", "size"]
32757
+ },
32758
+ {
32759
+ kind: "directive",
32760
+ type: MnPortal,
32761
+ selector: "[mnPortal]",
32762
+ inputs: ["mnPortal"]
32763
+ }
32764
+ ],
32765
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
32766
+ encapsulation: i0.ViewEncapsulation.None
32767
+ });
32768
+ }
32769
+ };
32770
+ i0.ɵɵngDeclareClassMetadata({
32771
+ minVersion: "12.0.0",
32772
+ version: "22.2.2",
32773
+ ngImport: i0,
32774
+ type: MnDatePicker,
32775
+ decorators: [{
32776
+ type: Component,
32777
+ args: [{
32778
+ selector: "mn-date-picker",
32779
+ exportAs: "mnDatePicker",
32780
+ imports: [
32781
+ MnHook,
32782
+ MnIcon,
32783
+ MnPortal
32784
+ ],
32785
+ encapsulation: ViewEncapsulation.None,
32786
+ changeDetection: ChangeDetectionStrategy.OnPush,
32787
+ providers: [provideValueAccessor(() => MnDatePicker)],
32788
+ host: {
32789
+ "[class]": "s.datePicker",
32790
+ "[attr.id]": "null",
32791
+ "[attr.aria-label]": "null",
32792
+ "[attr.aria-labelledby]": "null",
32793
+ "[attr.aria-describedby]": "null",
32794
+ "[attr.name]": "null",
32795
+ "[attr.placeholder]": "null",
32796
+ "[attr.label]": "null",
32797
+ "[attr.disabled]": "null",
32798
+ "[attr.readonly]": "null",
32799
+ "[attr.required]": "null",
32800
+ "[attr.invalid]": "null",
32801
+ "[attr.data-minerva]": "\"date-picker\"",
32802
+ "[attr.data-part]": "\"root\"",
32803
+ "[attr.data-state]": "isOpen() ? \"open\" : \"closed\"",
32804
+ "[attr.data-disabled]": "isDisabled() ? \"\" : null",
32805
+ "[attr.data-readonly]": "isReadOnly() ? \"\" : null",
32806
+ "[attr.data-invalid]": "isInvalid() ? \"\" : null",
32807
+ "[attr.data-size]": "size()",
32808
+ "(click)": "onRootClick($event)"
32809
+ },
32810
+ template: `
32811
+ <div
32812
+ [class]="inputRootClass()"
32813
+ data-component="input"
32814
+ mnHook="input"
32815
+ [mnStates]="{
32816
+ disabled: isDisabled(),
32817
+ invalid: isInvalid(),
32818
+ readonly: isReadOnly(),
32819
+ required: isRequired(),
32820
+ size: size(),
32821
+ variant: 'outline',
32822
+ }"
32823
+ >
32824
+ <input
32825
+ #input
32826
+ type="text"
32827
+ [class]="is.field"
32828
+ [value]="displayValue()"
32829
+ [attr.placeholder]="placeholder() ?? scope.t('datePicker.placeholder')"
32830
+ [attr.id]="field.id()"
32831
+ [attr.aria-label]="accessibleName()"
32832
+ [attr.aria-labelledby]="labelledBy()"
32833
+ [attr.aria-describedby]="field.describedBy()"
32834
+ [attr.aria-invalid]="isInvalid() ? 'true' : null"
32835
+ [attr.aria-readonly]="isReadOnly() ? 'true' : null"
32836
+ [required]="isRequired()"
32837
+ [readOnly]="isReadOnly()"
32838
+ [attr.name]="name()"
32839
+ [disabled]="isDisabled()"
32840
+ (input)="onInput(input.value)"
32841
+ (blur)="onBlur()"
32842
+ (keydown)="onInputKeyDown($event)"
32843
+ mnHook="input"
32844
+ mnPart="input"
32845
+ />
32846
+ <span [class]="suffixClass" mnHook="input" mnPart="suffix">
32847
+ @if (showClear()) {
32848
+ <button
32849
+ type="button"
32850
+ [class]="clearClass"
32851
+ tabindex="0"
32852
+ [attr.aria-label]="scope.t('datePicker.clear')"
32853
+ (click)="clear()"
32854
+ mnHook="icon-button"
32855
+ [mnStates]="clearStates"
32856
+ >
32857
+ <span
32858
+ [class]="ib.glyph"
32859
+ aria-hidden="true"
32860
+ mnHook="icon-button"
32861
+ mnPart="icon"
32862
+ >
32863
+ <svg mnIcon="X"></svg>
32864
+ </span>
32865
+ </button>
32866
+ } @else {
32867
+ <span
32868
+ [class]="s.calendarIcon"
32869
+ aria-hidden="true"
32870
+ mnHook="date-picker"
32871
+ mnPart="icon"
32872
+ >
32873
+ <svg mnIcon="Calendar"></svg>
32874
+ </span>
32875
+ }
32876
+ </span>
32877
+ </div>
32878
+ @if (isOpen()) {
32879
+ <div
32880
+ *mnPortal
32881
+ #panel
32882
+ role="dialog"
32883
+ tabindex="-1"
32884
+ [attr.dir]="panelDir() ?? null"
32885
+ [attr.aria-label]="accessibleName()"
32886
+ [attr.aria-labelledby]="labelledBy()"
32887
+ [class]="s.popup"
32888
+ (keydown)="onPanelKeyDown($event)"
32889
+ mnHook="date-picker"
32890
+ mnPart="content"
32891
+ [mnStates]="contentStates()"
32892
+ >
32893
+ <div [class]="s.panel">
32894
+ <div [class]="s.header">
32895
+ <h2 [id]="headingId" [class]="s.heading" aria-live="polite">
32896
+ {{ heading() }}
32897
+ </h2>
32898
+ <div [class]="s.navGroup">
32899
+ <button
32900
+ type="button"
32901
+ [class]="s.navButton"
32902
+ [attr.aria-label]="scope.t('monthCalendar.previousMonth')"
32903
+ (click)="navigateMonth(-1)"
32904
+ >
32905
+ <svg mnIcon="ChevronLeft"></svg>
32906
+ </button>
32907
+ <button
32908
+ type="button"
32909
+ [class]="s.navButton"
32910
+ [attr.aria-label]="scope.t('monthCalendar.nextMonth')"
32911
+ (click)="navigateMonth(1)"
32912
+ >
32913
+ <svg mnIcon="ChevronRight"></svg>
32914
+ </button>
32915
+ </div>
32916
+ </div>
32917
+ <div role="grid" [attr.aria-labelledby]="headingId" [class]="s.grid">
32918
+ <div role="row" [class]="s.week">
32919
+ @for (day of weekdays; track day) {
32920
+ <div role="columnheader" [class]="s.weekday">
32921
+ {{ scope.t("monthCalendar.weekdays." + day) }}
32922
+ </div>
32923
+ }
32924
+ </div>
32925
+ @for (week of weeks(); track $index) {
32926
+ <div role="row" [class]="s.week">
32927
+ @for (date of week; track key(date)) {
32928
+ <div
32929
+ role="gridcell"
32930
+ [class]="s.day"
32931
+ [attr.data-date]="key(date)"
32932
+ [attr.data-outside]="outside(date) ? '' : null"
32933
+ [attr.aria-label]="key(date)"
32934
+ [attr.aria-selected]="current() === key(date)"
32935
+ [attr.aria-current]="key(date) === todayKey ? 'date' : null"
32936
+ [attr.aria-disabled]="
32937
+ dayDisabled(key(date)) ? 'true' : null
32938
+ "
32939
+ [tabIndex]="key(date) === activeKey() ? 0 : -1"
32940
+ (focus)="focusedKey.set(key(date))"
32941
+ (click)="selectDate(date)"
32942
+ (keydown)="onDayKeyDown($event, date)"
32943
+ >
32944
+ {{ date.getDate() }}
32945
+ </div>
32946
+ }
32947
+ </div>
32948
+ }
32949
+ </div>
32950
+ <div [class]="s.footer">
32951
+ <button
32952
+ type="button"
32953
+ [class]="s.footerButton"
32954
+ [disabled]="dayDisabled(todayKey)"
32955
+ (click)="selectToday()"
32956
+ >
32957
+ {{ scope.t("datePicker.today") }}
32958
+ </button>
32959
+ @if (clearable() && current()) {
32960
+ <button
32961
+ type="button"
32962
+ [class]="s.footerButton"
32963
+ (click)="clear(); setOpen(false)"
32964
+ >
32965
+ {{ scope.t("datePicker.clear") }}
32966
+ </button>
32967
+ }
32968
+ </div>
32969
+ </div>
32970
+ </div>
32971
+ }
32972
+ `
32973
+ }]
32974
+ }],
32975
+ ctorParameters: () => [],
32976
+ propDecorators: {
32977
+ value: [{
32978
+ type: i0.Input,
32979
+ args: [{
32980
+ isSignal: true,
32981
+ alias: "value",
32982
+ required: false
32983
+ }]
32984
+ }],
32985
+ valueChange: [{
32986
+ type: i0.Output,
32987
+ args: ["valueChange"]
32988
+ }],
32989
+ change: [{
32990
+ type: i0.Output,
32991
+ args: ["change"]
32992
+ }],
32993
+ defaultValue: [{
32994
+ type: i0.Input,
32995
+ args: [{
32996
+ isSignal: true,
32997
+ alias: "defaultValue",
32998
+ required: false
32999
+ }]
33000
+ }],
33001
+ open: [{
33002
+ type: i0.Input,
33003
+ args: [{
33004
+ isSignal: true,
33005
+ alias: "open",
33006
+ required: false
33007
+ }]
33008
+ }, {
33009
+ type: i0.Output,
33010
+ args: ["openChange"]
33011
+ }],
33012
+ placeholder: [{
33013
+ type: i0.Input,
33014
+ args: [{
33015
+ isSignal: true,
33016
+ alias: "placeholder",
33017
+ required: false
33018
+ }]
33019
+ }],
33020
+ label: [{
33021
+ type: i0.Input,
33022
+ args: [{
33023
+ isSignal: true,
33024
+ alias: "label",
33025
+ required: false
33026
+ }]
33027
+ }],
33028
+ ariaLabel: [{
33029
+ type: i0.Input,
33030
+ args: [{
33031
+ isSignal: true,
33032
+ alias: "aria-label",
33033
+ required: false
33034
+ }]
33035
+ }],
33036
+ ariaLabelledby: [{
33037
+ type: i0.Input,
33038
+ args: [{
33039
+ isSignal: true,
33040
+ alias: "aria-labelledby",
33041
+ required: false
33042
+ }]
33043
+ }],
33044
+ ariaDescribedby: [{
33045
+ type: i0.Input,
33046
+ args: [{
33047
+ isSignal: true,
33048
+ alias: "aria-describedby",
33049
+ required: false
33050
+ }]
33051
+ }],
33052
+ id: [{
33053
+ type: i0.Input,
33054
+ args: [{
33055
+ isSignal: true,
33056
+ alias: "id",
33057
+ required: false
33058
+ }]
33059
+ }],
33060
+ required: [{
33061
+ type: i0.Input,
33062
+ args: [{
33063
+ isSignal: true,
33064
+ alias: "required",
33065
+ required: false
33066
+ }]
33067
+ }],
33068
+ readOnly: [{
33069
+ type: i0.Input,
33070
+ args: [{
33071
+ isSignal: true,
33072
+ alias: "readOnly",
33073
+ required: false
33074
+ }]
33075
+ }],
33076
+ invalid: [{
33077
+ type: i0.Input,
33078
+ args: [{
33079
+ isSignal: true,
33080
+ alias: "invalid",
33081
+ required: false
33082
+ }]
33083
+ }],
33084
+ name: [{
33085
+ type: i0.Input,
33086
+ args: [{
33087
+ isSignal: true,
33088
+ alias: "name",
33089
+ required: false
33090
+ }]
33091
+ }],
33092
+ disabled: [{
33093
+ type: i0.Input,
33094
+ args: [{
33095
+ isSignal: true,
33096
+ alias: "disabled",
33097
+ required: false
33098
+ }]
33099
+ }],
33100
+ clearable: [{
33101
+ type: i0.Input,
33102
+ args: [{
33103
+ isSignal: true,
33104
+ alias: "clearable",
33105
+ required: false
33106
+ }]
33107
+ }],
33108
+ size: [{
33109
+ type: i0.Input,
33110
+ args: [{
33111
+ isSignal: true,
33112
+ alias: "size",
33113
+ required: false
33114
+ }]
33115
+ }],
33116
+ minDate: [{
33117
+ type: i0.Input,
33118
+ args: [{
33119
+ isSignal: true,
33120
+ alias: "minDate",
33121
+ required: false
33122
+ }]
33123
+ }],
33124
+ maxDate: [{
33125
+ type: i0.Input,
33126
+ args: [{
33127
+ isSignal: true,
33128
+ alias: "maxDate",
33129
+ required: false
33130
+ }]
33131
+ }],
33132
+ locale: [{
33133
+ type: i0.Input,
33134
+ args: [{
33135
+ isSignal: true,
33136
+ alias: "locale",
33137
+ required: false
33138
+ }]
33139
+ }],
33140
+ inputRef: [{
33141
+ type: i0.ViewChild,
33142
+ args: ["input", { isSignal: true }]
33143
+ }],
33144
+ panelRef: [{
33145
+ type: i0.ViewChild,
33146
+ args: ["panel", { isSignal: true }]
33147
+ }]
33148
+ }
33149
+ });
33150
+ export { MN_RADIO_GROUP, MN_SCOPE, MinervaScope, MnAlert, MnAppShell, MnAutoComplete, MnAvatar, MnAvatarGroup, MnBadge, MnBox, MnButton, MnCard, MnCardContent, MnCardDescription, MnCardFooter, MnCardHeader, MnCardTitle, MnCascader, MnCascaderPanel, MnCheckbox, MnCodeBlock, MnCommandDialog, MnConfig, MnConfirmDialog, MnConfirmProvider, MnConfirmService, MnContextMenu, MnDataTable, MnDatePicker, MnDescriptionList, MnDivider, MnDrawer, MnDrawerBody, MnDrawerClose, MnDrawerFooter, MnDrawerHeader, MnDrawerTrigger, MnEmpty, MnFieldBase, MnFloatingBase, MnFormControl, MnFormErrorMessage, MnFormField, MnFormHelperText, MnFormLabel, MnFormLayout, MnGridItem, MnHStack, MnHtmlPreview, MnIconButton, MnInput, MnJsonField, MnKeyValueEditor, MnList, MnListItem, MnLoadingState, MnMenu, MnMenuBase, MnModal, MnModalBody, MnModalClose, MnModalFooter, MnModalHeader, MnModalTrigger, MnMonthCalendar, MnNavTree, MnNumberInput, MnPage, MnPageHeader, MnPageSection, MnPageTab, MnPageTabs, MnPagination, MnPaletteToggle, MnPopover, MnPopoverAnchor, MnPopoverClose, MnProgressIndicator, MnProse, MnRadio, MnRadioGroup, MnRating, MnRatingScale, MnResponsiveGrid, MnSelect, MnSelectGroup, MnSelectItem, MnSelectLabel, MnSelectSeparator, MnSkeleton, MnSkeletonText, MnSplitLayout, MnStack, MnStackBase, MnStatCard, MnSteps, MnSwitch, MnTab, MnTabPanel, MnTableBody, MnTableCell, MnTableCellContent, MnTableHead, MnTableHeader, MnTableRoot, MnTableRow, MnTabs, MnTag, MnTagInput, MnTextLink, MnTextarea, MnThemeToggle, MnTimePicker, MnTimePickerPanel, MnToastRegion, MnToastService, MnToolbar, MnTooltip, MnTooltipProvider, MnUpload, MnVStack, MnVirtualList, THEME_SCOPE_ATTRIBUTE, injectMinerva, provideEmbeddedMinerva, provideMinerva, themeModeOf };
32022
33151
 
32023
33152
  //# sourceMappingURL=minerva-angular.mjs.map