minerva-design 1.0.0 → 1.0.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.
- package/CHANGELOG.md +6 -0
- package/custom-elements.json +663 -0
- package/dist/angular/fesm2022/minerva-angular.mjs +1163 -34
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +237 -1
- package/dist/core/calendar-date.d.cts +5 -0
- package/dist/core/calendar-date.d.ts +5 -0
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/index.cjs +6 -6
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +671 -630
- package/dist/core/index.js.map +1 -1
- package/dist/core/styling-hooks/components/date-picker.d.cts +45 -0
- package/dist/core/styling-hooks/components/date-picker.d.ts +45 -0
- package/dist/core/styling-hooks/manifest.d.cts +44 -0
- package/dist/core/styling-hooks/manifest.d.ts +44 -0
- package/dist/core/styling-hooks.cjs +1 -1
- package/dist/core/styling-hooks.cjs.map +1 -1
- package/dist/core/styling-hooks.js +62 -0
- package/dist/core/styling-hooks.js.map +1 -1
- package/dist/native/components/Calendar/Calendar.cjs +1 -1
- package/dist/native/components/Calendar/Calendar.cjs.map +1 -1
- package/dist/native/components/Calendar/Calendar.d.cts +2 -0
- package/dist/native/components/Calendar/Calendar.d.ts +2 -0
- package/dist/native/components/Calendar/Calendar.js +115 -112
- package/dist/native/components/Calendar/Calendar.js.map +1 -1
- package/dist/native/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/native/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/native/components/Checkbox/Checkbox.js +8 -8
- package/dist/native/components/Checkbox/CheckboxGroup.cjs +1 -1
- package/dist/native/components/Checkbox/CheckboxGroup.cjs.map +1 -1
- package/dist/native/components/Checkbox/CheckboxGroup.js +6 -6
- package/dist/native/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/native/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/native/components/DatePicker/DatePicker.d.cts +40 -0
- package/dist/native/components/DatePicker/DatePicker.d.ts +40 -0
- package/dist/native/components/DatePicker/DatePicker.js +110 -0
- package/dist/native/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/native/components/DatePicker/index.cjs +1 -0
- package/dist/native/components/DatePicker/index.d.cts +2 -0
- package/dist/native/components/DatePicker/index.d.ts +2 -0
- package/dist/native/components/DatePicker/index.js +2 -0
- package/dist/native/components/Radio/RadioGroup.cjs +1 -1
- package/dist/native/components/Radio/RadioGroup.cjs.map +1 -1
- package/dist/native/components/Radio/RadioGroup.js +9 -9
- package/dist/native/components/Switch/Switch.cjs +1 -1
- package/dist/native/components/Switch/Switch.cjs.map +1 -1
- package/dist/native/components/Switch/Switch.js +23 -23
- package/dist/native/components/Switch/Switch.js.map +1 -1
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +1 -0
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.js +70 -68
- package/dist/native/source/components/Calendar/Calendar.tsx +14 -6
- package/dist/native/source/components/DatePicker/DatePicker.tsx +201 -0
- package/dist/native/source/components/DatePicker/index.ts +2 -0
- package/dist/native/source/index.ts +1 -0
- package/dist/native/source/manifest.ts +6 -0
- package/dist/react/components/DatePicker/DatePicker.cjs +2 -0
- package/dist/react/components/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/react/components/DatePicker/DatePicker.d.cts +13 -0
- package/dist/react/components/DatePicker/DatePicker.d.ts +13 -0
- package/dist/react/components/DatePicker/DatePicker.js +315 -0
- package/dist/react/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.cjs +2 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.cjs.map +1 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.js +23 -0
- package/dist/react/components/DatePicker/datePicker.module.scss.js.map +1 -0
- package/dist/react/components/DatePicker/index.cjs +1 -0
- package/dist/react/components/DatePicker/index.d.cts +5 -0
- package/dist/react/components/DatePicker/index.d.ts +5 -0
- package/dist/react/components/DatePicker/index.js +3 -0
- package/dist/react/components/DatePicker/types.d.cts +97 -0
- package/dist/react/components/DatePicker/types.d.ts +97 -0
- package/dist/react/components/index.cjs +1 -1
- package/dist/react/components/index.d.cts +1 -0
- package/dist/react/components/index.d.ts +1 -0
- package/dist/react/components/index.js +3 -1
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +7 -6
- package/dist/react/style.css +1 -0
- package/dist/react/styles/date-picker.css +7 -0
- package/dist/taro/date-picker.d.ts +20 -0
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +1155 -990
- package/dist/uni/DatePicker.vue +225 -0
- package/dist/uni/DatePicker.vue.d.ts +36 -0
- package/dist/uni/MonthCalendar.vue +2 -0
- package/dist/uni/MonthCalendar.vue.d.ts +2 -0
- package/dist/uni/index.d.ts +1 -0
- package/dist/uni/index.js +1 -0
- package/dist/uni/manifest.d.ts +7 -0
- package/dist/uni/manifest.js +8 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.d.ts +36 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.js +7 -0
- package/dist/vue/components/DatePicker/DatePicker.vue.js.map +1 -0
- package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +380 -0
- package/dist/vue/components/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/DatePicker/index.d.ts +2 -0
- package/dist/vue/components/DatePicker/index.js +2 -0
- package/dist/vue/components/DatePicker/types.d.ts +26 -0
- package/dist/vue/components/MonthCalendar/MonthCalendar.vue.d.ts +1 -1
- package/dist/vue/global.d.ts +108 -0
- package/dist/vue/groups/forms-pickers.d.ts +1 -0
- package/dist/vue/groups/forms-pickers.js +5 -2
- package/dist/vue/groups/forms-pickers.js.map +1 -1
- package/dist/vue/index.js +95 -94
- package/dist/weapp/controls.js +259 -76
- package/dist/weapp/date-picker/index.js +1 -0
- package/dist/weapp/date-picker/index.json +1 -0
- package/dist/weapp/date-picker/index.wxml +1 -0
- package/dist/weapp/date-picker/index.wxss +1 -0
- package/dist/weapp/types.d.ts +19 -0
- package/dist/web-components/cdn/minerva.js +461 -335
- package/dist/web-components/cdn/minerva.js.map +1 -1
- package/dist/web-components/components/date-picker/date-picker.d.ts +110 -0
- package/dist/web-components/components/date-picker/date-picker.js +378 -0
- package/dist/web-components/components/date-picker/date-picker.js.map +1 -0
- package/dist/web-components/elements/date-picker.d.ts +1 -0
- package/dist/web-components/elements/date-picker.js +8 -0
- package/dist/web-components/elements/date-picker.js.map +1 -0
- package/dist/web-components/html-custom-data.json +85 -0
- package/dist/web-components/index.d.ts +1 -0
- package/dist/web-components/index.js +8 -6
- package/dist/web-components/styles/DatePicker/datePicker.css.js +6 -0
- package/dist/web-components/styles/DatePicker/datePicker.css.js.map +1 -0
- package/dist/web-components/types/react.d.ts +12 -0
- package/dist/web-components/types/solid.d.ts +9 -0
- package/dist/web-components/types/svelte.d.ts +9 -0
- package/dist/web-components/types/vue.d.ts +10 -0
- 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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
6849
|
+
transform: optionalBoolean$7
|
|
6833
6850
|
});
|
|
6834
6851
|
this.readOnly = input(void 0, {
|
|
6835
6852
|
...ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {},
|
|
6836
|
-
transform: optionalBoolean$
|
|
6853
|
+
transform: optionalBoolean$7
|
|
6837
6854
|
});
|
|
6838
6855
|
this.invalid = input(void 0, {
|
|
6839
6856
|
...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
|
|
6840
|
-
transform: optionalBoolean$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
14391
|
+
transform: optionalBoolean$2
|
|
14375
14392
|
});
|
|
14376
14393
|
this.required = input(void 0, {
|
|
14377
14394
|
...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
|
|
14378
|
-
transform: optionalBoolean$
|
|
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
|
-
|
|
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
|