@cloudscape-design/components 3.0.542 → 3.0.543

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 (90) hide show
  1. package/calendar/grid/index.d.ts.map +1 -1
  2. package/calendar/grid/index.js +4 -1
  3. package/calendar/grid/index.js.map +1 -1
  4. package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts +2 -1
  5. package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts.map +1 -1
  6. package/calendar/grid/use-calendar-grid-keyboard-navigation.js +14 -8
  7. package/calendar/grid/use-calendar-grid-keyboard-navigation.js.map +1 -1
  8. package/calendar/grid/use-calendar-grid-rows.d.ts +3 -1
  9. package/calendar/grid/use-calendar-grid-rows.d.ts.map +1 -1
  10. package/calendar/grid/use-calendar-grid-rows.js +12 -3
  11. package/calendar/grid/use-calendar-grid-rows.js.map +1 -1
  12. package/calendar/index.d.ts +1 -1
  13. package/calendar/index.d.ts.map +1 -1
  14. package/calendar/index.js +2 -2
  15. package/calendar/index.js.map +1 -1
  16. package/calendar/interfaces.d.ts +21 -0
  17. package/calendar/interfaces.d.ts.map +1 -1
  18. package/calendar/interfaces.js.map +1 -1
  19. package/calendar/internal.d.ts +1 -1
  20. package/calendar/internal.d.ts.map +1 -1
  21. package/calendar/internal.js +19 -11
  22. package/calendar/internal.js.map +1 -1
  23. package/calendar/styles.css.js +20 -18
  24. package/calendar/styles.scoped.css +54 -40
  25. package/calendar/styles.selectors.js +20 -18
  26. package/calendar/use-calendar-labels.d.ts +2 -1
  27. package/calendar/use-calendar-labels.d.ts.map +1 -1
  28. package/calendar/use-calendar-labels.js +14 -7
  29. package/calendar/use-calendar-labels.js.map +1 -1
  30. package/calendar/utils/intl.d.ts +1 -0
  31. package/calendar/utils/intl.d.ts.map +1 -1
  32. package/calendar/utils/intl.js +5 -0
  33. package/calendar/utils/intl.js.map +1 -1
  34. package/calendar/utils/navigation.d.ts +11 -5
  35. package/calendar/utils/navigation.d.ts.map +1 -1
  36. package/calendar/utils/navigation.js +43 -7
  37. package/calendar/utils/navigation.js.map +1 -1
  38. package/date-input/internal.d.ts +4 -1
  39. package/date-input/internal.d.ts.map +1 -1
  40. package/date-input/internal.js +9 -10
  41. package/date-input/internal.js.map +1 -1
  42. package/date-picker/index.d.ts.map +1 -1
  43. package/date-picker/index.js +12 -11
  44. package/date-picker/index.js.map +1 -1
  45. package/date-picker/utils.d.ts +16 -0
  46. package/date-picker/utils.d.ts.map +1 -0
  47. package/date-picker/utils.js +14 -0
  48. package/date-picker/utils.js.map +1 -0
  49. package/i18n/messages/all.all.js +39 -0
  50. package/i18n/messages/all.all.json +52 -13
  51. package/i18n/messages/all.de.js +3 -0
  52. package/i18n/messages/all.de.json +4 -1
  53. package/i18n/messages/all.en-GB.js +3 -0
  54. package/i18n/messages/all.en-GB.json +4 -1
  55. package/i18n/messages/all.en.js +3 -0
  56. package/i18n/messages/all.en.json +4 -1
  57. package/i18n/messages/all.es.js +3 -0
  58. package/i18n/messages/all.es.json +4 -1
  59. package/i18n/messages/all.fr.js +3 -0
  60. package/i18n/messages/all.fr.json +4 -1
  61. package/i18n/messages/all.id.js +3 -0
  62. package/i18n/messages/all.id.json +4 -1
  63. package/i18n/messages/all.it.js +3 -0
  64. package/i18n/messages/all.it.json +4 -1
  65. package/i18n/messages/all.ja.js +3 -0
  66. package/i18n/messages/all.ja.json +4 -1
  67. package/i18n/messages/all.ko.js +3 -0
  68. package/i18n/messages/all.ko.json +4 -1
  69. package/i18n/messages/all.pt-BR.js +3 -0
  70. package/i18n/messages/all.pt-BR.json +4 -1
  71. package/i18n/messages/all.tr.js +3 -0
  72. package/i18n/messages/all.tr.json +4 -1
  73. package/i18n/messages/all.zh-CN.js +3 -0
  74. package/i18n/messages/all.zh-CN.json +4 -1
  75. package/i18n/messages/all.zh-TW.js +3 -0
  76. package/i18n/messages/all.zh-TW.json +4 -1
  77. package/i18n/messages-types.d.ts +3 -0
  78. package/i18n/messages-types.d.ts.map +1 -1
  79. package/i18n/messages-types.js.map +1 -1
  80. package/internal/base-component/styles.scoped.css +1 -0
  81. package/internal/environment.js +1 -1
  82. package/internal/environment.json +1 -1
  83. package/internal/generated/theming/index.cjs +11 -0
  84. package/internal/generated/theming/index.js +11 -0
  85. package/internal/manifest.json +1 -1
  86. package/internal/utils/date-time/format-date.d.ts +2 -1
  87. package/internal/utils/date-time/format-date.d.ts.map +1 -1
  88. package/internal/utils/date-time/format-date.js +4 -1
  89. package/internal/utils/date-time/format-date.js.map +1 -1
  90. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["date-input/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAG9D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAMrC,SAAS,OAAO,CAAC,KAAa;IAC5B,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,QAAQ,GAAa;IACzB,SAAS,EAAE,GAAG;IACd,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAChC,QAAQ,EAAE;QACR,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;QAC/C,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;QAC9B,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE;KACpC;CACF,CAAC;AAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CACxC,CAAC,EAA+E,EAAE,GAA0B,EAAE,EAAE;QAA/G,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,OAAoC,EAA/B,KAAK,cAArD,0CAAuD,CAAF;IACpD,OAAO,CACL,oBAAC,WAAW,kBACV,GAAG,EAAE,GAAG,IACJ,KAAK,IACT,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,EAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAChG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EAC7C,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,KAAK,EACnB,yBAAyB,EAAE,KAAK,EAChC,yBAAyB,EAAE,IAAI,EAC/B,iBAAiB,EAAE,iBAAiB,IACpC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport clsx from 'clsx';\nimport { getDaysInMonth } from 'date-fns';\nimport React, { Ref } from 'react';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { displayToIso, isoToDisplay, parseDate } from '../internal/utils/date-time';\n\nimport MaskedInput from '../internal/components/masked-input';\nimport { MaskArgs } from '../internal/components/masked-input/utils/mask-format';\n\nimport styles from './styles.css.js';\nimport { DateInputProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\ntype InternalDateInputProps = DateInputProps & InternalBaseComponentProps;\n\nfunction daysMax(value: string): number {\n // force to first day in month, as new Date('2018-02-30') -> March 2nd 2018\n const baseDate = displayToIso(value).substring(0, 7);\n return getDaysInMonth(parseDate(baseDate));\n}\n\nconst maskArgs: MaskArgs = {\n separator: '/',\n inputSeparators: ['-', '.', ' '],\n segments: [\n { min: 0, max: 9999, default: 2000, length: 4 },\n { min: 1, max: 12, length: 2 },\n { min: 1, max: daysMax, length: 2 },\n ],\n};\n\nconst InternalDateInput = React.forwardRef(\n ({ value, onChange, __internalRootRef = null, ...props }: InternalDateInputProps, ref: Ref<HTMLInputElement>) => {\n return (\n <MaskedInput\n ref={ref}\n {...props}\n value={isoToDisplay(value || '')}\n onChange={event => fireNonCancelableEvent(onChange, { value: displayToIso(event.detail.value) })}\n className={clsx(styles.root, props.className)}\n mask={maskArgs}\n autofix={true}\n autoComplete={false}\n disableAutocompleteOnBlur={false}\n disableBrowserAutocorrect={true}\n __internalRootRef={__internalRootRef}\n />\n );\n }\n);\n\nexport default InternalDateInput;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["date-input/internal.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAc,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEpF,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAG9D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAUrC,SAAS,OAAO,CAAC,KAAa;IAC5B,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,OAAO,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACjE,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACjD,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAEpD,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CACxC,CACE,EAA4F,EAC5F,GAA0B,EAC1B,EAAE;QAFF,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,GAAG,IAAI,OAAoC,EAA/B,KAAK,cAAlE,yDAAoE,CAAF;IAGlE,MAAM,QAAQ,GAAa;QACzB,SAAS,EAAE,GAAG;QACd,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAChC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;KAC3F,CAAC;IAEF,OAAO,CACL,oBAAC,WAAW,kBACV,GAAG,EAAE,GAAG,IACJ,KAAK,IACT,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,EAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAChG,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EAC7C,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,IAAI,EACb,YAAY,EAAE,KAAK,EACnB,yBAAyB,EAAE,KAAK,EAChC,yBAAyB,EAAE,IAAI,EAC/B,iBAAiB,EAAE,iBAAiB,IACpC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport clsx from 'clsx';\nimport { getDaysInMonth } from 'date-fns';\nimport React, { Ref } from 'react';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { displayToIso, isoToDisplay, parseDate } from '../internal/utils/date-time';\n\nimport MaskedInput from '../internal/components/masked-input';\nimport { MaskArgs } from '../internal/components/masked-input/utils/mask-format';\n\nimport styles from './styles.css.js';\nimport { DateInputProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { CalendarProps } from '../calendar/interfaces';\n\ntype InternalDateInputProps = DateInputProps &\n InternalBaseComponentProps & {\n granularity?: CalendarProps.Granularity;\n };\n\nfunction daysMax(value: string): number {\n // force to first day in month, as new Date('2018-02-30') -> March 2nd 2018\n const baseDate = displayToIso(value).substring(0, 7);\n return getDaysInMonth(parseDate(baseDate));\n}\n\nconst yearMask = { min: 0, max: 9999, default: 2000, length: 4 };\nconst monthMask = { min: 1, max: 12, length: 2 };\nconst dayMask = { min: 1, max: daysMax, length: 2 };\n\nconst InternalDateInput = React.forwardRef(\n (\n { value, onChange, granularity, __internalRootRef = null, ...props }: InternalDateInputProps,\n ref: Ref<HTMLInputElement>\n ) => {\n const maskArgs: MaskArgs = {\n separator: '/',\n inputSeparators: ['-', '.', ' '],\n segments: granularity === 'month' ? [yearMask, monthMask] : [yearMask, monthMask, dayMask],\n };\n\n return (\n <MaskedInput\n ref={ref}\n {...props}\n value={isoToDisplay(value || '')}\n onChange={event => fireNonCancelableEvent(onChange, { value: displayToIso(event.detail.value) })}\n className={clsx(styles.root, props.className)}\n mask={maskArgs}\n autofix={true}\n autoComplete={false}\n disableAutocompleteOnBlur={false}\n disableBrowserAutocorrect={true}\n __internalRootRef={__internalRootRef}\n />\n );\n }\n);\n\nexport default InternalDateInput;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["date-picker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAyB/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU,6FA6Kf,CAAC;AAGF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["date-picker/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAyB/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU,6FA0Lf,CAAC;AAGF,eAAe,UAAU,CAAC"}
@@ -6,7 +6,6 @@ import React, { useCallback, useRef, useState } from 'react';
6
6
  import styles from './styles.css.js';
7
7
  import InternalCalendar from '../calendar/internal';
8
8
  import { normalizeLocale } from '../internal/utils/locale';
9
- import { getDateLabel, renderMonthAndYear } from '../calendar/utils/intl';
10
9
  import { KeyCode } from '../internal/keycode';
11
10
  import { fireNonCancelableEvent } from '../internal/events';
12
11
  import Dropdown from '../internal/components/dropdown';
@@ -25,8 +24,10 @@ import { parseDate } from '../internal/utils/date-time';
25
24
  import LiveRegion from '../internal/components/live-region';
26
25
  import { useFormFieldContext } from '../contexts/form-field.js';
27
26
  import { useLocale } from '../i18n/context.js';
27
+ import { getBaseDateLabel, getSelectedDateLabel, isValidFullDate } from './utils';
28
28
  const DatePicker = React.forwardRef((_a, ref) => {
29
- var { locale = '', startOfWeek, isDateEnabled, nextMonthAriaLabel, previousMonthAriaLabel, todayAriaLabel, i18nStrings, placeholder = '', value = '', readOnly = false, disabled = false, onBlur, autoFocus = false, onChange, onFocus, name, ariaLabel, ariaRequired, controlId, invalid, openCalendarAriaLabel, expandToViewport } = _a, restProps = __rest(_a, ["locale", "startOfWeek", "isDateEnabled", "nextMonthAriaLabel", "previousMonthAriaLabel", "todayAriaLabel", "i18nStrings", "placeholder", "value", "readOnly", "disabled", "onBlur", "autoFocus", "onChange", "onFocus", "name", "ariaLabel", "ariaRequired", "controlId", "invalid", "openCalendarAriaLabel", "expandToViewport"]);
29
+ var _b, _c, _d;
30
+ var { locale = '', startOfWeek, isDateEnabled, nextMonthAriaLabel, previousMonthAriaLabel, todayAriaLabel, i18nStrings, placeholder = '', value = '', readOnly = false, disabled = false, onBlur, autoFocus = false, onChange, onFocus, name, ariaLabel, ariaRequired, controlId, invalid, openCalendarAriaLabel, expandToViewport, granularity = 'day' } = _a, restProps = __rest(_a, ["locale", "startOfWeek", "isDateEnabled", "nextMonthAriaLabel", "previousMonthAriaLabel", "todayAriaLabel", "i18nStrings", "placeholder", "value", "readOnly", "disabled", "onBlur", "autoFocus", "onChange", "onFocus", "name", "ariaLabel", "ariaRequired", "controlId", "invalid", "openCalendarAriaLabel", "expandToViewport", "granularity"]);
30
31
  const { __internalRootRef } = useBaseComponent('DatePicker');
31
32
  checkControlled('DatePicker', 'value', value, 'onChange', onChange);
32
33
  const contextLocale = useLocale();
@@ -67,12 +68,16 @@ const DatePicker = React.forwardRef((_a, ref) => {
67
68
  // Set displayed date to value if defined or to current date otherwise.
68
69
  const parsedValue = value && value.length >= 4 ? parseDate(value) : null;
69
70
  const baseDate = parsedValue || new Date();
71
+ const hasFullValue = isValidFullDate({ date: value, granularity });
72
+ const buttonAriaLabel = openCalendarAriaLabel &&
73
+ openCalendarAriaLabel(hasFullValue && parsedValue
74
+ ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale })
75
+ : null);
70
76
  const trigger = (React.createElement("div", { className: styles['date-picker-trigger'] },
71
77
  React.createElement("div", { className: styles['date-picker-input'] },
72
- React.createElement(InternalDateInput, { name: name, invalid: invalid, controlId: controlId, ariaLabelledby: ariaLabelledby, ariaDescribedby: ariaDescribedby, ariaLabel: ariaLabel, ariaRequired: ariaRequired, value: value, disabled: disabled, readOnly: readOnly, onChange: onInputChangeHandler, onBlur: onInputBlurHandler, placeholder: placeholder, ref: internalInputRef, autoFocus: autoFocus, onFocus: onDropdownCloseHandler })),
78
+ React.createElement(InternalDateInput, { name: name, invalid: invalid, controlId: controlId, ariaLabelledby: ariaLabelledby, ariaDescribedby: ariaDescribedby, ariaLabel: ariaLabel, ariaRequired: ariaRequired, value: value, disabled: disabled, readOnly: readOnly, onChange: onInputChangeHandler, onBlur: onInputBlurHandler, placeholder: placeholder, ref: internalInputRef, autoFocus: autoFocus, onFocus: onDropdownCloseHandler, granularity: granularity })),
73
79
  React.createElement("div", null,
74
- React.createElement(InternalButton, { iconName: "calendar", className: styles['open-calendar-button'], onClick: onButtonClickHandler, ref: buttonRef, ariaLabel: openCalendarAriaLabel &&
75
- openCalendarAriaLabel(value.length === 10 ? getDateLabel(normalizedLocale, parsedValue) : null), disabled: disabled || readOnly, formAction: "none" }))));
80
+ React.createElement(InternalButton, { iconName: "calendar", className: styles['open-calendar-button'], onClick: onButtonClickHandler, ref: buttonRef, ariaLabel: buttonAriaLabel, disabled: disabled || readOnly, formAction: "none" }))));
76
81
  baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);
77
82
  const handleMouseDown = (event) => {
78
83
  // prevent currently focused element from losing it
@@ -85,12 +90,8 @@ const DatePicker = React.forwardRef((_a, ref) => {
85
90
  fireNonCancelableEvent(onChange, e.detail);
86
91
  (_a = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
87
92
  setIsDropDownOpen(false);
88
- }, locale: normalizedLocale, startOfWeek: startOfWeek, ariaDescribedby: calendarDescriptionId, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, isDateEnabled: isDateEnabled, i18nStrings: {
89
- todayAriaLabel: (i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel) || todayAriaLabel,
90
- nextMonthAriaLabel: (i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel) || nextMonthAriaLabel,
91
- previousMonthAriaLabel: (i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel) || previousMonthAriaLabel,
92
- } }),
93
- React.createElement(LiveRegion, { id: calendarDescriptionId }, renderMonthAndYear(normalizedLocale, baseDate)))))))));
93
+ }, locale: normalizedLocale, startOfWeek: startOfWeek, ariaDescribedby: calendarDescriptionId, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, granularity: granularity, isDateEnabled: isDateEnabled, i18nStrings: Object.assign(Object.assign({}, i18nStrings), { todayAriaLabel: (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel) !== null && _b !== void 0 ? _b : todayAriaLabel, nextMonthAriaLabel: (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel) !== null && _c !== void 0 ? _c : nextMonthAriaLabel, previousMonthAriaLabel: (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel) !== null && _d !== void 0 ? _d : previousMonthAriaLabel }) }),
94
+ React.createElement(LiveRegion, { id: calendarDescriptionId }, getBaseDateLabel({ date: baseDate, granularity, locale: normalizedLocale })))))))));
94
95
  });
95
96
  applyDisplayName(DatePicker, 'DatePicker');
96
97
  export default DatePicker;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["date-picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { Ref, useCallback, useRef, useState } from 'react';\nimport styles from './styles.css.js';\nimport { DatePickerProps } from './interfaces';\nimport InternalCalendar from '../calendar/internal';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport { getDateLabel, renderMonthAndYear } from '../calendar/utils/intl';\nimport { InputProps } from '../input/interfaces';\nimport { KeyCode } from '../internal/keycode';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport Dropdown from '../internal/components/dropdown';\nimport InternalDateInput from '../date-input/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name.js';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { useFocusTracker } from '../internal/hooks/use-focus-tracker.js';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport FocusLock from '../internal/components/focus-lock';\nimport { parseDate } from '../internal/utils/date-time';\nimport LiveRegion from '../internal/components/live-region';\nimport { useFormFieldContext } from '../contexts/form-field.js';\nimport { useLocale } from '../i18n/context.js';\n\nexport { DatePickerProps };\n\nconst DatePicker = React.forwardRef(\n (\n {\n locale = '',\n startOfWeek,\n isDateEnabled,\n nextMonthAriaLabel,\n previousMonthAriaLabel,\n todayAriaLabel,\n i18nStrings,\n placeholder = '',\n value = '',\n readOnly = false,\n disabled = false,\n onBlur,\n autoFocus = false,\n onChange,\n onFocus,\n name,\n ariaLabel,\n ariaRequired,\n controlId,\n invalid,\n openCalendarAriaLabel,\n expandToViewport,\n ...restProps\n }: DatePickerProps,\n ref: Ref<DatePickerProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('DatePicker');\n checkControlled('DatePicker', 'value', value, 'onChange', onChange);\n\n const contextLocale = useLocale();\n const normalizedLocale = normalizeLocale('DatePicker', locale || contextLocale);\n\n const baseProps = getBaseProps(restProps);\n const [isDropDownOpen, setIsDropDownOpen] = useState<boolean>(false);\n const { ariaLabelledby, ariaDescribedby } = useFormFieldContext(restProps);\n\n const internalInputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n useForwardFocus(ref, internalInputRef);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const dropdownId = useUniqueId('calender');\n const calendarDescriptionId = useUniqueId('calendar-description-');\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n useFocusTracker({ rootRef, onBlur, onFocus });\n\n const onDropdownCloseHandler = useCallback(() => setIsDropDownOpen(false), [setIsDropDownOpen]);\n\n const onButtonClickHandler = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(true);\n }\n };\n\n const onWrapperKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.keyCode === KeyCode.escape && isDropDownOpen) {\n event.stopPropagation();\n buttonRef.current?.focus();\n setIsDropDownOpen(false);\n }\n };\n\n const onInputChangeHandler: InputProps['onChange'] = event => {\n fireNonCancelableEvent(onChange, { value: event.detail.value });\n };\n\n const onInputBlurHandler: InputProps['onBlur'] = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(false);\n }\n };\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const baseDate = parsedValue || new Date();\n\n const trigger = (\n <div className={styles['date-picker-trigger']}>\n <div className={styles['date-picker-input']}>\n <InternalDateInput\n name={name}\n invalid={invalid}\n controlId={controlId}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onInputChangeHandler}\n onBlur={onInputBlurHandler}\n placeholder={placeholder}\n ref={internalInputRef}\n autoFocus={autoFocus}\n onFocus={onDropdownCloseHandler}\n />\n </div>\n <div>\n <InternalButton\n iconName=\"calendar\"\n className={styles['open-calendar-button']}\n onClick={onButtonClickHandler}\n ref={buttonRef}\n ariaLabel={\n openCalendarAriaLabel &&\n openCalendarAriaLabel(value.length === 10 ? getDateLabel(normalizedLocale, parsedValue!) : null)\n }\n disabled={disabled || readOnly}\n formAction=\"none\"\n />\n </div>\n </div>\n );\n\n baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);\n\n const handleMouseDown = (event: React.MouseEvent) => {\n // prevent currently focused element from losing it\n event.preventDefault();\n };\n\n return (\n <div {...baseProps} ref={mergedRef} onKeyDown={!disabled && !readOnly ? onWrapperKeyDownHandler : undefined}>\n {disabled || readOnly ? (\n trigger\n ) : (\n <Dropdown\n stretchWidth={true}\n stretchHeight={true}\n open={isDropDownOpen}\n onDropdownClose={onDropdownCloseHandler}\n onMouseDown={handleMouseDown}\n trigger={trigger}\n expandToViewport={expandToViewport}\n scrollable={false}\n dropdownId={dropdownId}\n >\n {isDropDownOpen && (\n <FocusLock className={styles['focus-lock']} autoFocus={true}>\n <div tabIndex={0} className={styles.calendar} role=\"dialog\" aria-modal=\"true\">\n <InternalCalendar\n value={value}\n onChange={e => {\n fireNonCancelableEvent(onChange, e.detail);\n buttonRef?.current?.focus();\n setIsDropDownOpen(false);\n }}\n locale={normalizedLocale}\n startOfWeek={startOfWeek}\n ariaDescribedby={calendarDescriptionId}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n isDateEnabled={isDateEnabled}\n i18nStrings={{\n todayAriaLabel: i18nStrings?.todayAriaLabel || todayAriaLabel,\n nextMonthAriaLabel: i18nStrings?.nextMonthAriaLabel || nextMonthAriaLabel,\n previousMonthAriaLabel: i18nStrings?.previousMonthAriaLabel || previousMonthAriaLabel,\n }}\n />\n <LiveRegion id={calendarDescriptionId}>{renderMonthAndYear(normalizedLocale, baseDate)}</LiveRegion>\n </div>\n </FocusLock>\n )}\n </Dropdown>\n )}\n </div>\n );\n }\n);\n\napplyDisplayName(DatePicker, 'DatePicker');\nexport default DatePicker;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["date-picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { Ref, useCallback, useRef, useState } from 'react';\nimport styles from './styles.css.js';\nimport { DatePickerProps } from './interfaces';\nimport InternalCalendar from '../calendar/internal';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport { InputProps } from '../input/interfaces';\nimport { KeyCode } from '../internal/keycode';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport Dropdown from '../internal/components/dropdown';\nimport InternalDateInput from '../date-input/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name.js';\nimport checkControlled from '../internal/hooks/check-controlled';\nimport { useFocusTracker } from '../internal/hooks/use-focus-tracker.js';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport FocusLock from '../internal/components/focus-lock';\nimport { parseDate } from '../internal/utils/date-time';\nimport LiveRegion from '../internal/components/live-region';\nimport { useFormFieldContext } from '../contexts/form-field.js';\nimport { useLocale } from '../i18n/context.js';\nimport { getBaseDateLabel, getSelectedDateLabel, isValidFullDate } from './utils';\n\nexport { DatePickerProps };\n\nconst DatePicker = React.forwardRef(\n (\n {\n locale = '',\n startOfWeek,\n isDateEnabled,\n nextMonthAriaLabel,\n previousMonthAriaLabel,\n todayAriaLabel,\n i18nStrings,\n placeholder = '',\n value = '',\n readOnly = false,\n disabled = false,\n onBlur,\n autoFocus = false,\n onChange,\n onFocus,\n name,\n ariaLabel,\n ariaRequired,\n controlId,\n invalid,\n openCalendarAriaLabel,\n expandToViewport,\n granularity = 'day',\n ...restProps\n }: DatePickerProps,\n ref: Ref<DatePickerProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('DatePicker');\n checkControlled('DatePicker', 'value', value, 'onChange', onChange);\n\n const contextLocale = useLocale();\n const normalizedLocale = normalizeLocale('DatePicker', locale || contextLocale);\n\n const baseProps = getBaseProps(restProps);\n const [isDropDownOpen, setIsDropDownOpen] = useState<boolean>(false);\n const { ariaLabelledby, ariaDescribedby } = useFormFieldContext(restProps);\n\n const internalInputRef = useRef<HTMLInputElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n useForwardFocus(ref, internalInputRef);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const dropdownId = useUniqueId('calender');\n const calendarDescriptionId = useUniqueId('calendar-description-');\n const mergedRef = useMergeRefs(rootRef, __internalRootRef);\n\n useFocusTracker({ rootRef, onBlur, onFocus });\n\n const onDropdownCloseHandler = useCallback(() => setIsDropDownOpen(false), [setIsDropDownOpen]);\n\n const onButtonClickHandler = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(true);\n }\n };\n\n const onWrapperKeyDownHandler = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.keyCode === KeyCode.escape && isDropDownOpen) {\n event.stopPropagation();\n buttonRef.current?.focus();\n setIsDropDownOpen(false);\n }\n };\n\n const onInputChangeHandler: InputProps['onChange'] = event => {\n fireNonCancelableEvent(onChange, { value: event.detail.value });\n };\n\n const onInputBlurHandler: InputProps['onBlur'] = () => {\n if (!isDropDownOpen) {\n setIsDropDownOpen(false);\n }\n };\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const baseDate = parsedValue || new Date();\n\n const hasFullValue = isValidFullDate({ date: value, granularity });\n\n const buttonAriaLabel =\n openCalendarAriaLabel &&\n openCalendarAriaLabel(\n hasFullValue && parsedValue\n ? getSelectedDateLabel({ date: parsedValue, granularity, locale: normalizedLocale })\n : null\n );\n\n const trigger = (\n <div className={styles['date-picker-trigger']}>\n <div className={styles['date-picker-input']}>\n <InternalDateInput\n name={name}\n invalid={invalid}\n controlId={controlId}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n ariaLabel={ariaLabel}\n ariaRequired={ariaRequired}\n value={value}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onInputChangeHandler}\n onBlur={onInputBlurHandler}\n placeholder={placeholder}\n ref={internalInputRef}\n autoFocus={autoFocus}\n onFocus={onDropdownCloseHandler}\n granularity={granularity}\n />\n </div>\n <div>\n <InternalButton\n iconName=\"calendar\"\n className={styles['open-calendar-button']}\n onClick={onButtonClickHandler}\n ref={buttonRef}\n ariaLabel={buttonAriaLabel}\n disabled={disabled || readOnly}\n formAction=\"none\"\n />\n </div>\n </div>\n );\n\n baseProps.className = clsx(baseProps.className, styles.root, styles['date-picker-container']);\n\n const handleMouseDown = (event: React.MouseEvent) => {\n // prevent currently focused element from losing it\n event.preventDefault();\n };\n\n return (\n <div {...baseProps} ref={mergedRef} onKeyDown={!disabled && !readOnly ? onWrapperKeyDownHandler : undefined}>\n {disabled || readOnly ? (\n trigger\n ) : (\n <Dropdown\n stretchWidth={true}\n stretchHeight={true}\n open={isDropDownOpen}\n onDropdownClose={onDropdownCloseHandler}\n onMouseDown={handleMouseDown}\n trigger={trigger}\n expandToViewport={expandToViewport}\n scrollable={false}\n dropdownId={dropdownId}\n >\n {isDropDownOpen && (\n <FocusLock className={styles['focus-lock']} autoFocus={true}>\n <div tabIndex={0} className={styles.calendar} role=\"dialog\" aria-modal=\"true\">\n <InternalCalendar\n value={value}\n onChange={e => {\n fireNonCancelableEvent(onChange, e.detail);\n buttonRef?.current?.focus();\n setIsDropDownOpen(false);\n }}\n locale={normalizedLocale}\n startOfWeek={startOfWeek}\n ariaDescribedby={calendarDescriptionId}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n granularity={granularity}\n isDateEnabled={isDateEnabled}\n i18nStrings={{\n ...i18nStrings,\n todayAriaLabel: i18nStrings?.todayAriaLabel ?? todayAriaLabel,\n nextMonthAriaLabel: i18nStrings?.nextMonthAriaLabel ?? nextMonthAriaLabel,\n previousMonthAriaLabel: i18nStrings?.previousMonthAriaLabel ?? previousMonthAriaLabel,\n }}\n />\n <LiveRegion id={calendarDescriptionId}>\n {getBaseDateLabel({ date: baseDate, granularity, locale: normalizedLocale })}\n </LiveRegion>\n </div>\n </FocusLock>\n )}\n </Dropdown>\n )}\n </div>\n );\n }\n);\n\napplyDisplayName(DatePicker, 'DatePicker');\nexport default DatePicker;\n"]}
@@ -0,0 +1,16 @@
1
+ import { CalendarProps } from '../calendar/interfaces';
2
+ export declare function isValidFullDate({ date, granularity }: {
3
+ date: string;
4
+ granularity: CalendarProps.Granularity;
5
+ }): boolean;
6
+ export declare function getSelectedDateLabel({ date, granularity, locale, }: {
7
+ date: Date;
8
+ granularity: CalendarProps.Granularity;
9
+ locale: string;
10
+ }): string;
11
+ export declare function getBaseDateLabel({ date, granularity, locale, }: {
12
+ date: Date;
13
+ granularity: CalendarProps.Granularity;
14
+ locale: string;
15
+ }): string;
16
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"lib/default/","sources":["date-picker/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAA;CAAE,WAG9G;AAED,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,WAAW,EACX,MAAM,GACP,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB,UAEA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,WAAW,EACX,MAAM,GACP,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB,UAEA"}
@@ -0,0 +1,14 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { getDateLabel, renderMonthAndYear, renderYear } from '../calendar/utils/intl';
4
+ export function isValidFullDate({ date, granularity }) {
5
+ const regex = granularity === 'month' ? /^\d{4}-\d{2}(-\d{2})?$/ : /^\d{4}-\d{2}-\d{2}$/;
6
+ return !!date.match(regex);
7
+ }
8
+ export function getSelectedDateLabel({ date, granularity, locale, }) {
9
+ return granularity === 'month' ? renderMonthAndYear(locale, date) : getDateLabel(locale, date);
10
+ }
11
+ export function getBaseDateLabel({ date, granularity, locale, }) {
12
+ return granularity === 'month' ? renderYear(locale, date) : renderMonthAndYear(locale, date);
13
+ }
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"lib/default/","sources":["date-picker/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAGtC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEtF,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAA4D;IAC7G,MAAM,KAAK,GAAG,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACzF,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,IAAI,EACJ,WAAW,EACX,MAAM,GAKP;IACC,OAAO,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,WAAW,EACX,MAAM,GAKP;IACC,OAAO,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/F,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { CalendarProps } from '../calendar/interfaces';\nimport { getDateLabel, renderMonthAndYear, renderYear } from '../calendar/utils/intl';\n\nexport function isValidFullDate({ date, granularity }: { date: string; granularity: CalendarProps.Granularity }) {\n const regex = granularity === 'month' ? /^\\d{4}-\\d{2}(-\\d{2})?$/ : /^\\d{4}-\\d{2}-\\d{2}$/;\n return !!date.match(regex);\n}\n\nexport function getSelectedDateLabel({\n date,\n granularity,\n locale,\n}: {\n date: Date;\n granularity: CalendarProps.Granularity;\n locale: string;\n}) {\n return granularity === 'month' ? renderMonthAndYear(locale, date) : getDateLabel(locale, date);\n}\n\nexport function getBaseDateLabel({\n date,\n granularity,\n locale,\n}: {\n date: Date;\n granularity: CalendarProps.Granularity;\n locale: string;\n}) {\n return granularity === 'month' ? renderYear(locale, date) : renderMonthAndYear(locale, date);\n}\n"]}
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Nächster Monat' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Vorheriger Monat' }],
87
87
  todayAriaLabel: [{ type: 0, value: 'Heute' }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Nächstes Jahr' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Vorheriges Jahr' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Aktueller Monat' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Elementauswahl' }] },
90
93
  'code-editor': {
@@ -1150,6 +1153,9 @@ export default {
1150
1153
  nextMonthAriaLabel: [{ type: 0, value: 'Next month' }],
1151
1154
  previousMonthAriaLabel: [{ type: 0, value: 'Previous month' }],
1152
1155
  todayAriaLabel: [{ type: 0, value: 'Today' }],
1156
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Next year' }],
1157
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Previous year' }],
1158
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Current month' }],
1153
1159
  },
1154
1160
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Item selection' }] },
1155
1161
  'code-editor': {
@@ -2193,6 +2199,9 @@ export default {
2193
2199
  nextMonthAriaLabel: [{ type: 0, value: 'Next month' }],
2194
2200
  previousMonthAriaLabel: [{ type: 0, value: 'Previous month' }],
2195
2201
  todayAriaLabel: [{ type: 0, value: 'Today' }],
2202
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Next year' }],
2203
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Previous year' }],
2204
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Current month' }],
2196
2205
  },
2197
2206
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Item selection' }] },
2198
2207
  'code-editor': {
@@ -3236,6 +3245,9 @@ export default {
3236
3245
  nextMonthAriaLabel: [{ type: 0, value: 'Próximo mes' }],
3237
3246
  previousMonthAriaLabel: [{ type: 0, value: 'Mes anterior' }],
3238
3247
  todayAriaLabel: [{ type: 0, value: 'Hoy' }],
3248
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Próximo año' }],
3249
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Año anterior' }],
3250
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mes actual' }],
3239
3251
  },
3240
3252
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Selección de elementos' }] },
3241
3253
  'code-editor': {
@@ -4295,6 +4307,9 @@ export default {
4295
4307
  nextMonthAriaLabel: [{ type: 0, value: 'Mois suivant' }],
4296
4308
  previousMonthAriaLabel: [{ type: 0, value: 'Mois précédent' }],
4297
4309
  todayAriaLabel: [{ type: 0, value: "Aujourd'hui" }],
4310
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Année suivante' }],
4311
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Année précédente' }],
4312
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mois en cours' }],
4298
4313
  },
4299
4314
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: "Sélection de l'élément" }] },
4300
4315
  'code-editor': {
@@ -5378,6 +5393,9 @@ export default {
5378
5393
  nextMonthAriaLabel: [{ type: 0, value: 'Bulan berikutnya' }],
5379
5394
  previousMonthAriaLabel: [{ type: 0, value: 'Bulan sebelumnya' }],
5380
5395
  todayAriaLabel: [{ type: 0, value: 'Hari ini' }],
5396
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Tahun berikutnya' }],
5397
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Tahun sebelumnya' }],
5398
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Bulan saat ini' }],
5381
5399
  },
5382
5400
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Pemilihan item' }] },
5383
5401
  'code-editor': {
@@ -6406,6 +6424,9 @@ export default {
6406
6424
  nextMonthAriaLabel: [{ type: 0, value: 'Mese successivo' }],
6407
6425
  previousMonthAriaLabel: [{ type: 0, value: 'Mese precedente' }],
6408
6426
  todayAriaLabel: [{ type: 0, value: 'Oggi' }],
6427
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Anno successivo' }],
6428
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Anno precedente' }],
6429
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mese corrente' }],
6409
6430
  },
6410
6431
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: "Selezione dell'elemento" }] },
6411
6432
  'code-editor': {
@@ -7429,6 +7450,9 @@ export default {
7429
7450
  nextMonthAriaLabel: [{ type: 0, value: '来月' }],
7430
7451
  previousMonthAriaLabel: [{ type: 0, value: '前月' }],
7431
7452
  todayAriaLabel: [{ type: 0, value: '今日' }],
7453
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: '翌年' }],
7454
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: '前年' }],
7455
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: '当月' }],
7432
7456
  },
7433
7457
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: '項目の選択' }] },
7434
7458
  'code-editor': {
@@ -8486,6 +8510,9 @@ export default {
8486
8510
  nextMonthAriaLabel: [{ type: 0, value: '다음 달' }],
8487
8511
  previousMonthAriaLabel: [{ type: 0, value: '이전 달' }],
8488
8512
  todayAriaLabel: [{ type: 0, value: '오늘' }],
8513
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: '내년' }],
8514
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: '작년' }],
8515
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: '이번 달' }],
8489
8516
  },
8490
8517
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: '항목 선택' }] },
8491
8518
  'code-editor': {
@@ -9518,6 +9545,9 @@ export default {
9518
9545
  nextMonthAriaLabel: [{ type: 0, value: 'Próximo mês' }],
9519
9546
  previousMonthAriaLabel: [{ type: 0, value: 'Mês anterior' }],
9520
9547
  todayAriaLabel: [{ type: 0, value: 'Hoje' }],
9548
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Próximo ano' }],
9549
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Ano anterior' }],
9550
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mês atual' }],
9521
9551
  },
9522
9552
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Seleção de item' }] },
9523
9553
  'code-editor': {
@@ -11301,6 +11331,9 @@ export default {
11301
11331
  nextMonthAriaLabel: [{ type: 0, value: 'Gelecek ay' }],
11302
11332
  previousMonthAriaLabel: [{ type: 0, value: 'Önceki ay' }],
11303
11333
  todayAriaLabel: [{ type: 0, value: 'Bugün' }],
11334
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Gelecek yıl' }],
11335
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Önceki yıl' }],
11336
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Geçerli ay' }],
11304
11337
  },
11305
11338
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Öğe seçimi' }] },
11306
11339
  'code-editor': {
@@ -12354,6 +12387,9 @@ export default {
12354
12387
  nextMonthAriaLabel: [{ type: 0, value: '下个月' }],
12355
12388
  previousMonthAriaLabel: [{ type: 0, value: '上个月' }],
12356
12389
  todayAriaLabel: [{ type: 0, value: '今天' }],
12390
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: '下一年' }],
12391
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: '上一年' }],
12392
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: '本月' }],
12357
12393
  },
12358
12394
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: '项目选择' }] },
12359
12395
  'code-editor': {
@@ -13386,6 +13422,9 @@ export default {
13386
13422
  nextMonthAriaLabel: [{ type: 0, value: '下個月' }],
13387
13423
  previousMonthAriaLabel: [{ type: 0, value: '上個月' }],
13388
13424
  todayAriaLabel: [{ type: 0, value: '今天' }],
13425
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: '下一年' }],
13426
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: '上一年' }],
13427
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: '當前月份' }],
13389
13428
  },
13390
13429
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: '項目選擇' }] },
13391
13430
  'code-editor': {
@@ -86,7 +86,10 @@
86
86
  "calendar": {
87
87
  "nextMonthAriaLabel": [{ "type": 0, "value": "Nächster Monat" }],
88
88
  "previousMonthAriaLabel": [{ "type": 0, "value": "Vorheriger Monat" }],
89
- "todayAriaLabel": [{ "type": 0, "value": "Heute" }]
89
+ "todayAriaLabel": [{ "type": 0, "value": "Heute" }],
90
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Nächstes Jahr" }],
91
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Vorheriges Jahr" }],
92
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Aktueller Monat" }]
90
93
  },
91
94
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Elementauswahl" }] },
92
95
  "code-editor": {
@@ -1159,7 +1162,10 @@
1159
1162
  "calendar": {
1160
1163
  "nextMonthAriaLabel": [{ "type": 0, "value": "Next month" }],
1161
1164
  "previousMonthAriaLabel": [{ "type": 0, "value": "Previous month" }],
1162
- "todayAriaLabel": [{ "type": 0, "value": "Today" }]
1165
+ "todayAriaLabel": [{ "type": 0, "value": "Today" }],
1166
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Next year" }],
1167
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Previous year" }],
1168
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Current month" }]
1163
1169
  },
1164
1170
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Item selection" }] },
1165
1171
  "code-editor": {
@@ -2205,7 +2211,10 @@
2205
2211
  "calendar": {
2206
2212
  "nextMonthAriaLabel": [{ "type": 0, "value": "Next month" }],
2207
2213
  "previousMonthAriaLabel": [{ "type": 0, "value": "Previous month" }],
2208
- "todayAriaLabel": [{ "type": 0, "value": "Today" }]
2214
+ "todayAriaLabel": [{ "type": 0, "value": "Today" }],
2215
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Next year" }],
2216
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Previous year" }],
2217
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Current month" }]
2209
2218
  },
2210
2219
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Item selection" }] },
2211
2220
  "code-editor": {
@@ -3247,7 +3256,10 @@
3247
3256
  "calendar": {
3248
3257
  "nextMonthAriaLabel": [{ "type": 0, "value": "Próximo mes" }],
3249
3258
  "previousMonthAriaLabel": [{ "type": 0, "value": "Mes anterior" }],
3250
- "todayAriaLabel": [{ "type": 0, "value": "Hoy" }]
3259
+ "todayAriaLabel": [{ "type": 0, "value": "Hoy" }],
3260
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Próximo año" }],
3261
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Año anterior" }],
3262
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Mes actual" }]
3251
3263
  },
3252
3264
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Selección de elementos" }] },
3253
3265
  "code-editor": {
@@ -4309,7 +4321,10 @@
4309
4321
  "calendar": {
4310
4322
  "nextMonthAriaLabel": [{ "type": 0, "value": "Mois suivant" }],
4311
4323
  "previousMonthAriaLabel": [{ "type": 0, "value": "Mois précédent" }],
4312
- "todayAriaLabel": [{ "type": 0, "value": "Aujourd'hui" }]
4324
+ "todayAriaLabel": [{ "type": 0, "value": "Aujourd'hui" }],
4325
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Année suivante" }],
4326
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Année précédente" }],
4327
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Mois en cours" }]
4313
4328
  },
4314
4329
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Sélection de l'élément" }] },
4315
4330
  "code-editor": {
@@ -5398,7 +5413,10 @@
5398
5413
  "calendar": {
5399
5414
  "nextMonthAriaLabel": [{ "type": 0, "value": "Bulan berikutnya" }],
5400
5415
  "previousMonthAriaLabel": [{ "type": 0, "value": "Bulan sebelumnya" }],
5401
- "todayAriaLabel": [{ "type": 0, "value": "Hari ini" }]
5416
+ "todayAriaLabel": [{ "type": 0, "value": "Hari ini" }],
5417
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Tahun berikutnya" }],
5418
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Tahun sebelumnya" }],
5419
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Bulan saat ini" }]
5402
5420
  },
5403
5421
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Pemilihan item" }] },
5404
5422
  "code-editor": {
@@ -6431,7 +6449,10 @@
6431
6449
  "calendar": {
6432
6450
  "nextMonthAriaLabel": [{ "type": 0, "value": "Mese successivo" }],
6433
6451
  "previousMonthAriaLabel": [{ "type": 0, "value": "Mese precedente" }],
6434
- "todayAriaLabel": [{ "type": 0, "value": "Oggi" }]
6452
+ "todayAriaLabel": [{ "type": 0, "value": "Oggi" }],
6453
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Anno successivo" }],
6454
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Anno precedente" }],
6455
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Mese corrente" }]
6435
6456
  },
6436
6457
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Selezione dell'elemento" }] },
6437
6458
  "code-editor": {
@@ -7458,7 +7479,10 @@
7458
7479
  "calendar": {
7459
7480
  "nextMonthAriaLabel": [{ "type": 0, "value": "来月" }],
7460
7481
  "previousMonthAriaLabel": [{ "type": 0, "value": "前月" }],
7461
- "todayAriaLabel": [{ "type": 0, "value": "今日" }]
7482
+ "todayAriaLabel": [{ "type": 0, "value": "今日" }],
7483
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "翌年" }],
7484
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "前年" }],
7485
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "当月" }]
7462
7486
  },
7463
7487
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "項目の選択" }] },
7464
7488
  "code-editor": {
@@ -8517,7 +8541,10 @@
8517
8541
  "calendar": {
8518
8542
  "nextMonthAriaLabel": [{ "type": 0, "value": "다음 달" }],
8519
8543
  "previousMonthAriaLabel": [{ "type": 0, "value": "이전 달" }],
8520
- "todayAriaLabel": [{ "type": 0, "value": "오늘" }]
8544
+ "todayAriaLabel": [{ "type": 0, "value": "오늘" }],
8545
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "내년" }],
8546
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "작년" }],
8547
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "이번 달" }]
8521
8548
  },
8522
8549
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "항목 선택" }] },
8523
8550
  "code-editor": {
@@ -9560,7 +9587,10 @@
9560
9587
  "calendar": {
9561
9588
  "nextMonthAriaLabel": [{ "type": 0, "value": "Próximo mês" }],
9562
9589
  "previousMonthAriaLabel": [{ "type": 0, "value": "Mês anterior" }],
9563
- "todayAriaLabel": [{ "type": 0, "value": "Hoje" }]
9590
+ "todayAriaLabel": [{ "type": 0, "value": "Hoje" }],
9591
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Próximo ano" }],
9592
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Ano anterior" }],
9593
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Mês atual" }]
9564
9594
  },
9565
9595
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Seleção de item" }] },
9566
9596
  "code-editor": {
@@ -11352,7 +11382,10 @@
11352
11382
  "calendar": {
11353
11383
  "nextMonthAriaLabel": [{ "type": 0, "value": "Gelecek ay" }],
11354
11384
  "previousMonthAriaLabel": [{ "type": 0, "value": "Önceki ay" }],
11355
- "todayAriaLabel": [{ "type": 0, "value": "Bugün" }]
11385
+ "todayAriaLabel": [{ "type": 0, "value": "Bugün" }],
11386
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Gelecek yıl" }],
11387
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Önceki yıl" }],
11388
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Geçerli ay" }]
11356
11389
  },
11357
11390
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Öğe seçimi" }] },
11358
11391
  "code-editor": {
@@ -12412,7 +12445,10 @@
12412
12445
  "calendar": {
12413
12446
  "nextMonthAriaLabel": [{ "type": 0, "value": "下个月" }],
12414
12447
  "previousMonthAriaLabel": [{ "type": 0, "value": "上个月" }],
12415
- "todayAriaLabel": [{ "type": 0, "value": "今天" }]
12448
+ "todayAriaLabel": [{ "type": 0, "value": "今天" }],
12449
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "下一年" }],
12450
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "上一年" }],
12451
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "本月" }]
12416
12452
  },
12417
12453
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "项目选择" }] },
12418
12454
  "code-editor": {
@@ -13443,7 +13479,10 @@
13443
13479
  "calendar": {
13444
13480
  "nextMonthAriaLabel": [{ "type": 0, "value": "下個月" }],
13445
13481
  "previousMonthAriaLabel": [{ "type": 0, "value": "上個月" }],
13446
- "todayAriaLabel": [{ "type": 0, "value": "今天" }]
13482
+ "todayAriaLabel": [{ "type": 0, "value": "今天" }],
13483
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "下一年" }],
13484
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "上一年" }],
13485
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "當前月份" }]
13447
13486
  },
13448
13487
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "項目選擇" }] },
13449
13488
  "code-editor": {
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Nächster Monat' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Vorheriger Monat' }],
87
87
  todayAriaLabel: [{ type: 0, value: 'Heute' }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Nächstes Jahr' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Vorheriges Jahr' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Aktueller Monat' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Elementauswahl' }] },
90
93
  'code-editor': {
@@ -86,7 +86,10 @@
86
86
  "calendar": {
87
87
  "nextMonthAriaLabel": [{ "type": 0, "value": "Nächster Monat" }],
88
88
  "previousMonthAriaLabel": [{ "type": 0, "value": "Vorheriger Monat" }],
89
- "todayAriaLabel": [{ "type": 0, "value": "Heute" }]
89
+ "todayAriaLabel": [{ "type": 0, "value": "Heute" }],
90
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Nächstes Jahr" }],
91
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Vorheriges Jahr" }],
92
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Aktueller Monat" }]
90
93
  },
91
94
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Elementauswahl" }] },
92
95
  "code-editor": {
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Next month' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Previous month' }],
87
87
  todayAriaLabel: [{ type: 0, value: 'Today' }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Next year' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Previous year' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Current month' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Item selection' }] },
90
93
  'code-editor': {
@@ -84,7 +84,10 @@
84
84
  "calendar": {
85
85
  "nextMonthAriaLabel": [{ "type": 0, "value": "Next month" }],
86
86
  "previousMonthAriaLabel": [{ "type": 0, "value": "Previous month" }],
87
- "todayAriaLabel": [{ "type": 0, "value": "Today" }]
87
+ "todayAriaLabel": [{ "type": 0, "value": "Today" }],
88
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Next year" }],
89
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Previous year" }],
90
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Current month" }]
88
91
  },
89
92
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Item selection" }] },
90
93
  "code-editor": {
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Next month' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Previous month' }],
87
87
  todayAriaLabel: [{ type: 0, value: 'Today' }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Next year' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Previous year' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Current month' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Item selection' }] },
90
93
  'code-editor': {
@@ -84,7 +84,10 @@
84
84
  "calendar": {
85
85
  "nextMonthAriaLabel": [{ "type": 0, "value": "Next month" }],
86
86
  "previousMonthAriaLabel": [{ "type": 0, "value": "Previous month" }],
87
- "todayAriaLabel": [{ "type": 0, "value": "Today" }]
87
+ "todayAriaLabel": [{ "type": 0, "value": "Today" }],
88
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Next year" }],
89
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Previous year" }],
90
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Current month" }]
88
91
  },
89
92
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Item selection" }] },
90
93
  "code-editor": {
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Próximo mes' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Mes anterior' }],
87
87
  todayAriaLabel: [{ type: 0, value: 'Hoy' }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Próximo año' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Año anterior' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mes actual' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: 'Selección de elementos' }] },
90
93
  'code-editor': {
@@ -84,7 +84,10 @@
84
84
  "calendar": {
85
85
  "nextMonthAriaLabel": [{ "type": 0, "value": "Próximo mes" }],
86
86
  "previousMonthAriaLabel": [{ "type": 0, "value": "Mes anterior" }],
87
- "todayAriaLabel": [{ "type": 0, "value": "Hoy" }]
87
+ "todayAriaLabel": [{ "type": 0, "value": "Hoy" }],
88
+ "i18nStrings.nextYearAriaLabel": [{ "type": 0, "value": "Próximo año" }],
89
+ "i18nStrings.previousYearAriaLabel": [{ "type": 0, "value": "Año anterior" }],
90
+ "i18nStrings.currentMonthAriaLabel": [{ "type": 0, "value": "Mes actual" }]
88
91
  },
89
92
  "cards": { "ariaLabels.selectionGroupLabel": [{ "type": 0, "value": "Selección de elementos" }] },
90
93
  "code-editor": {
@@ -85,6 +85,9 @@ export default {
85
85
  nextMonthAriaLabel: [{ type: 0, value: 'Mois suivant' }],
86
86
  previousMonthAriaLabel: [{ type: 0, value: 'Mois précédent' }],
87
87
  todayAriaLabel: [{ type: 0, value: "Aujourd'hui" }],
88
+ 'i18nStrings.nextYearAriaLabel': [{ type: 0, value: 'Année suivante' }],
89
+ 'i18nStrings.previousYearAriaLabel': [{ type: 0, value: 'Année précédente' }],
90
+ 'i18nStrings.currentMonthAriaLabel': [{ type: 0, value: 'Mois en cours' }],
88
91
  },
89
92
  cards: { 'ariaLabels.selectionGroupLabel': [{ type: 0, value: "Sélection de l'élément" }] },
90
93
  'code-editor': {