@v-c/picker 1.2.2 → 1.3.0

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 (101) hide show
  1. package/dist/PickerInput/Popup/index.d.ts +13 -1
  2. package/dist/PickerInput/Popup/index.js +10 -1
  3. package/dist/PickerInput/RangePicker.js +55 -72
  4. package/dist/PickerInput/Selector/ClearIcon.d.ts +11 -0
  5. package/dist/PickerInput/Selector/ClearIcon.js +53 -0
  6. package/dist/PickerInput/Selector/Icon.d.ts +0 -5
  7. package/dist/PickerInput/Selector/Icon.js +16 -57
  8. package/dist/PickerInput/Selector/Input.js +2 -5
  9. package/dist/PickerInput/Selector/RangeSelector.js +9 -5
  10. package/dist/PickerInput/Selector/SingleSelector/index.d.ts +1 -1
  11. package/dist/PickerInput/Selector/SingleSelector/index.js +5 -8
  12. package/dist/PickerInput/SinglePicker.js +54 -39
  13. package/dist/PickerInput/hooks/useFocusEvents.d.ts +28 -0
  14. package/dist/PickerInput/hooks/useFocusEvents.js +36 -0
  15. package/dist/PickerInput/hooks/useFocusLock.d.ts +14 -0
  16. package/dist/PickerInput/hooks/useFocusLock.js +25 -0
  17. package/dist/PickerInput/hooks/useRangeDisabledDate.d.ts +1 -1
  18. package/dist/PickerInput/hooks/useRangeDisabledDate.js +3 -3
  19. package/dist/PickerInput/hooks/useRangePickerValue.d.ts +7 -1
  20. package/dist/PickerInput/hooks/useRangePickerValue.js +10 -16
  21. package/dist/PickerInput/hooks/useRangeValue.d.ts +3 -3
  22. package/dist/PickerInput/hooks/useRangeValue.js +15 -13
  23. package/dist/PickerInput/hooks/useRangeValueChange.d.ts +109 -0
  24. package/dist/PickerInput/hooks/useRangeValueChange.js +226 -0
  25. package/dist/locale/am_ET.js +4 -4
  26. package/dist/locale/ar_EG.js +4 -4
  27. package/dist/locale/az_AZ.js +4 -4
  28. package/dist/locale/bg_BG.js +4 -4
  29. package/dist/locale/bn_BD.js +4 -4
  30. package/dist/locale/by_BY.js +4 -4
  31. package/dist/locale/ca_ES.js +4 -4
  32. package/dist/locale/cs_CZ.js +4 -4
  33. package/dist/locale/da_DK.js +4 -4
  34. package/dist/locale/de_DE.js +4 -4
  35. package/dist/locale/el_GR.js +4 -4
  36. package/dist/locale/en_GB.js +4 -4
  37. package/dist/locale/en_US.js +4 -4
  38. package/dist/locale/es_ES.js +4 -4
  39. package/dist/locale/es_MX.js +4 -4
  40. package/dist/locale/et_EE.js +4 -4
  41. package/dist/locale/eu_ES.js +4 -4
  42. package/dist/locale/fa_IR.js +4 -4
  43. package/dist/locale/fi_FI.js +4 -4
  44. package/dist/locale/fr_BE.js +4 -4
  45. package/dist/locale/fr_CA.js +4 -4
  46. package/dist/locale/fr_FR.js +4 -4
  47. package/dist/locale/ga_IE.js +4 -4
  48. package/dist/locale/gl_ES.js +4 -4
  49. package/dist/locale/he_IL.js +4 -4
  50. package/dist/locale/hi_IN.js +4 -4
  51. package/dist/locale/hr_HR.js +4 -4
  52. package/dist/locale/hu_HU.js +4 -4
  53. package/dist/locale/id_ID.js +4 -4
  54. package/dist/locale/is_IS.js +4 -4
  55. package/dist/locale/it_IT.js +4 -4
  56. package/dist/locale/ja_JP.js +4 -4
  57. package/dist/locale/ka_GE.js +4 -4
  58. package/dist/locale/kk_KZ.js +4 -4
  59. package/dist/locale/km_KH.js +4 -4
  60. package/dist/locale/kmr_IQ.js +4 -4
  61. package/dist/locale/kn_IN.js +4 -4
  62. package/dist/locale/ko_KR.js +4 -4
  63. package/dist/locale/lt_LT.js +4 -4
  64. package/dist/locale/lv_LV.js +4 -4
  65. package/dist/locale/mk_MK.js +4 -4
  66. package/dist/locale/ml_IN.js +4 -4
  67. package/dist/locale/mn_MN.js +4 -4
  68. package/dist/locale/mr_IN.js +4 -4
  69. package/dist/locale/ms_MY.js +2 -2
  70. package/dist/locale/my_MM.js +4 -4
  71. package/dist/locale/nb_NO.js +4 -4
  72. package/dist/locale/ne_NP.js +4 -4
  73. package/dist/locale/nl_BE.js +4 -4
  74. package/dist/locale/nl_NL.js +4 -4
  75. package/dist/locale/pl_PL.js +4 -4
  76. package/dist/locale/pt_BR.js +4 -4
  77. package/dist/locale/pt_PT.js +4 -4
  78. package/dist/locale/ro_RO.js +4 -4
  79. package/dist/locale/ru_RU.js +4 -4
  80. package/dist/locale/si_LK.js +4 -4
  81. package/dist/locale/sk_SK.js +4 -4
  82. package/dist/locale/sl_SI.js +4 -4
  83. package/dist/locale/sr_Cyrl_RS.js +4 -4
  84. package/dist/locale/sr_RS.js +4 -4
  85. package/dist/locale/sv_SE.js +4 -4
  86. package/dist/locale/ta_IN.js +4 -4
  87. package/dist/locale/th_TH.js +4 -4
  88. package/dist/locale/tk_TK.js +4 -4
  89. package/dist/locale/tr_TR.js +4 -4
  90. package/dist/locale/ug_CN.js +4 -4
  91. package/dist/locale/uk_UA.js +4 -4
  92. package/dist/locale/ur_PK.js +4 -4
  93. package/dist/locale/uz_UZ.js +4 -4
  94. package/dist/locale/vi_VN.js +4 -4
  95. package/dist/locale/zh_CN.js +4 -4
  96. package/dist/locale/zh_TW.js +4 -4
  97. package/dist/utils/miscUtil.d.ts +1 -1
  98. package/dist/utils/miscUtil.js +3 -4
  99. package/package.json +4 -4
  100. package/dist/PickerInput/hooks/useRangeActive.d.ts +0 -9
  101. package/dist/PickerInput/hooks/useRangeActive.js +0 -59
@@ -0,0 +1,226 @@
1
+ import { computed, shallowRef } from "vue";
2
+ //#region src/PickerInput/hooks/useRangeValueChange.ts
3
+ /**
4
+ * Coordinate CalendarValue updates, part submits and final submits for any
5
+ * number of fields.
6
+ * 统一管理任意数量 field 的 CalendarValue 更新、局部提交与最终提交。
7
+ *
8
+ * Flow / 流程:
9
+ * Every event is first resolved from `source`, `needConfirm`, `allowEmpty` and
10
+ * the field indexes to one action. State changes only happen while executing
11
+ * that action, so event sources never submit or reset values on their own.
12
+ * 每个事件先根据 `source`、`needConfirm`、`allowEmpty` 与 field index 得到唯一
13
+ * action。状态只在执行 action 时改变,事件来源本身不直接提交或重置值。
14
+ *
15
+ * Index transitions also expose whether focus must follow the next field.
16
+ * Confirm-like operations and a popup close following a panel operation
17
+ * switch focus strongly. A popup close following input, Tab and an actual
18
+ * field focus switch only update the expected index.
19
+ * index 切换还会同步给出是否必须跟随聚焦下一个 field。确认类操作,以及面板
20
+ * 操作后的 popup 关闭使用强切换;input 后的 popup 关闭、Tab 与真实 field
21
+ * 聚焦切换只更新预期 index。
22
+ *
23
+ * Source resolution / 事件解析:
24
+ *
25
+ * - `esc` always resolves to `resetAll`.
26
+ * `esc` 始终解析为 `resetAll`。
27
+ * - With no current field, `popupClose` resolves to `resetAll`; any other
28
+ * non-cancel event starts a new interaction from its field.
29
+ * 没有当前 field 时,`popupClose` 解析为 `resetAll`;其余非撤销事件从
30
+ * 对应 field 开始新一轮交互。
31
+ * - `field-switch` advances exactly one field in circular order. `needConfirm`
32
+ * locks an unconfirmed non-empty field unless it allows empty; an allow-empty
33
+ * field is reset before advancing.
34
+ * `field-switch` 只允许按循环顺序推进一个 field。`needConfirm` 会锁定未确认
35
+ * 且非空的 field;允许空值时先重置再推进。
36
+ * - Other sources must target the current field. `input` and
37
+ * `panel-intermediate` modify it; `remove` explicitly submits the removed
38
+ * value even when the field does not allow empty. `panel-final` advances only
39
+ * without confirmation; `keyboard-submit-weak` part-submits without
40
+ * advancing; `keyboard-submit` and `confirm` advance only when the field has
41
+ * a value or allows empty.
42
+ * 其余来源必须指向当前 field。`input` 与 `panel-intermediate` 只修改;
43
+ * `remove` 会明确提交删除后的值,即使 field 不允许为空;`panel-final`
44
+ * 仅在无需确认时推进;`keyboard-submit-weak` 只做局部提交而不推进;
45
+ * `keyboard-submit` 与 `confirm` 仅在有值或允许空值时推进。
46
+ * - `popupClose` finishes an untouched interaction. Without confirmation it
47
+ * submits a valid field; with confirmation it submits only after every field
48
+ * has participated, otherwise it resets all temporary values. A modified
49
+ * allow-empty field is reset before the final submit.
50
+ * `popupClose` 会直接结束未修改的交互。无需确认时提交有效 field;需要确认时
51
+ * 仅在所有 field 都参与过后提交,否则重置全部临时值。当前 field 已修改且
52
+ * 允许为空时,会先重置当前值再完成提交。
53
+ *
54
+ * Action execution / Action 执行:
55
+ *
56
+ * - `modify`: update or record the current CalendarValue.
57
+ * 更新或记录当前 CalendarValue。
58
+ * - `submitCurrent`: part-submit the current field without advancing.
59
+ * 局部提交当前 field,但不推进。
60
+ * - `switchNext`: submit the current field and advance to the next field.
61
+ * 提交当前 field 并推进到下一个 field。
62
+ * - `finish`: end an interaction in which no field was modified without
63
+ * resetting values. / 结束所有 field 均未修改的交互,不重置任何值。
64
+ * - `abort`: stop without changing any state.
65
+ * 直接短路,不改变任何状态。
66
+ * - `resetCurrent`: discard only the current field.
67
+ * 仅撤销当前 field。
68
+ * - `resetCurrentAndSwitchNext`: discard the current temporary value and
69
+ * advance without submitting. Revisiting a field starts a new round.
70
+ * 撤销当前临时值并直接推进,不触发提交;再次进入已访问 field 时开启新一轮。
71
+ * - `resetAll`: discard all temporary values and end the interaction.
72
+ * 撤销全部临时值并结束本轮交互。
73
+ *
74
+ * Vue note: upstream keeps `currentIndex` and `forceFocus` in `useSyncState`
75
+ * because React state is not readable synchronously inside the same handler.
76
+ * Vue refs already are, so plain refs carry both the render value and the
77
+ * synchronous read.
78
+ * Vue 说明:上游用 `useSyncState` 保存 `currentIndex` 与 `forceFocus`,是因为
79
+ * React state 无法在同一个 handler 内同步读回;Vue 的 ref 本身即可同步读写,
80
+ * 因此直接用 ref 同时承担渲染值与同步读取。
81
+ */
82
+ function useRangeValueChange(fieldCount, needConfirm, allowEmpty, getCalendarValue, triggerCalendarChange, flushSubmit, resetValue) {
83
+ const triggeredFieldsRef = shallowRef([]);
84
+ let confirmedIndex = null;
85
+ let isLastInput = false;
86
+ const currentIndex = shallowRef(null);
87
+ const forceFocus = shallowRef(false);
88
+ const lastValidIndex = shallowRef(0);
89
+ const setCurrentIndex = (next) => {
90
+ currentIndex.value = next;
91
+ if (next !== null) lastValidIndex.value = next;
92
+ };
93
+ const activeIndex = computed(() => currentIndex.value ?? lastValidIndex.value);
94
+ const reset = () => {
95
+ triggeredFieldsRef.value = [];
96
+ confirmedIndex = null;
97
+ isLastInput = false;
98
+ setCurrentIndex(null);
99
+ forceFocus.value = false;
100
+ };
101
+ const recordTriggeredField = (index, modified) => {
102
+ const field = triggeredFieldsRef.value.find((item) => item.index === index);
103
+ if (field) {
104
+ if (modified !== void 0) field.modified = modified;
105
+ } else triggeredFieldsRef.value = [...triggeredFieldsRef.value, {
106
+ index,
107
+ modified: modified ?? false
108
+ }];
109
+ };
110
+ const submitField = (index) => {
111
+ recordTriggeredField(index);
112
+ const allFieldsTriggered = triggeredFieldsRef.value.length >= fieldCount.value;
113
+ flushSubmit(index, allFieldsTriggered);
114
+ if (allFieldsTriggered) reset();
115
+ return allFieldsTriggered;
116
+ };
117
+ const resolveAction = (index, source, value) => {
118
+ const current = currentIndex.value;
119
+ if (source === "esc") return "resetAll";
120
+ if (current === null) return source === "popupClose" ? "resetAll" : "abort";
121
+ const currentValue = value === void 0 ? getCalendarValue()[current] : value;
122
+ const canSwitch = !(currentValue === null || currentValue === void 0) || allowEmpty.value[current];
123
+ const canSubmit = source === "remove" || canSwitch;
124
+ if (source === "field-switch") {
125
+ if (index === current) return "abort";
126
+ const nextIndex = (current + 1) % fieldCount.value;
127
+ if (index !== nextIndex) return "abort";
128
+ const nextFieldTriggered = triggeredFieldsRef.value.some((field) => field.index === nextIndex);
129
+ if (needConfirm.value) {
130
+ if (confirmedIndex === current) return "switchNext";
131
+ return allowEmpty.value[current] ? "resetCurrentAndSwitchNext" : "abort";
132
+ }
133
+ if (canSwitch) return "switchNext";
134
+ return nextFieldTriggered ? "resetCurrentAndSwitchNext" : "resetCurrent";
135
+ }
136
+ if (index !== current) return "abort";
137
+ if (source === "popupClose") {
138
+ if (!triggeredFieldsRef.value.some((field) => field.modified)) return "finish";
139
+ if (needConfirm.value) {
140
+ const currentModified = triggeredFieldsRef.value.some((field) => field.index === current && field.modified);
141
+ if (!(triggeredFieldsRef.value.length >= fieldCount.value) || !canSwitch) return "resetAll";
142
+ if (currentModified) return allowEmpty.value[current] ? "resetCurrentAndSwitchNext" : "resetAll";
143
+ return "switchNext";
144
+ }
145
+ if (!canSubmit) return "resetAll";
146
+ return "switchNext";
147
+ }
148
+ if (source === "input" || source === "panel-intermediate") return "modify";
149
+ if (source === "panel-final") return needConfirm.value ? "modify" : "switchNext";
150
+ if (source === "keyboard-submit-weak") return canSubmit ? "submitCurrent" : "abort";
151
+ if (source === "keyboard-submit" || source === "confirm" || source === "remove") return canSubmit ? "switchNext" : "abort";
152
+ return "abort";
153
+ };
154
+ const triggerChange = (index, source, value) => {
155
+ if (source !== "popupClose") isLastInput = source === "input";
156
+ if (currentIndex.value === null && source !== "popupClose" && source !== "esc") {
157
+ setCurrentIndex(index);
158
+ forceFocus.value = false;
159
+ recordTriggeredField(index, false);
160
+ }
161
+ const action = resolveAction(index, source, value);
162
+ const actionIndex = currentIndex.value ?? index;
163
+ switch (action) {
164
+ case "modify":
165
+ recordTriggeredField(actionIndex, true);
166
+ if (confirmedIndex === actionIndex) confirmedIndex = null;
167
+ if (value !== void 0) triggerCalendarChange(actionIndex, value);
168
+ break;
169
+ case "submitCurrent":
170
+ if (needConfirm.value) confirmedIndex = actionIndex;
171
+ submitField(actionIndex);
172
+ break;
173
+ case "switchNext": {
174
+ if (source === "panel-final" || value !== void 0) recordTriggeredField(actionIndex, true);
175
+ if (value !== void 0) triggerCalendarChange(actionIndex, value);
176
+ if (needConfirm.value && (source === "keyboard-submit" || source === "confirm")) confirmedIndex = actionIndex;
177
+ const nextForceFocus = source === "confirm" || source === "keyboard-submit" || source === "panel-final" || source === "popupClose" && !isLastInput;
178
+ const allFieldsTriggered = submitField(actionIndex);
179
+ if (allFieldsTriggered && source === "field-switch") {
180
+ setCurrentIndex(index);
181
+ forceFocus.value = false;
182
+ } else if (!allFieldsTriggered) {
183
+ setCurrentIndex((actionIndex + 1) % fieldCount.value);
184
+ forceFocus.value = nextForceFocus;
185
+ }
186
+ if (source === "field-switch") recordTriggeredField(index, false);
187
+ break;
188
+ }
189
+ case "finish":
190
+ reset();
191
+ break;
192
+ case "resetCurrent":
193
+ resetValue(actionIndex);
194
+ if (confirmedIndex === actionIndex) confirmedIndex = null;
195
+ triggeredFieldsRef.value = triggeredFieldsRef.value.filter((field) => field.index !== actionIndex);
196
+ break;
197
+ case "resetCurrentAndSwitchNext":
198
+ resetValue(actionIndex);
199
+ if (confirmedIndex === actionIndex) confirmedIndex = null;
200
+ if (source === "field-switch") {
201
+ if (triggeredFieldsRef.value.some((field) => field.index === index)) triggeredFieldsRef.value = [];
202
+ setCurrentIndex(index);
203
+ forceFocus.value = false;
204
+ recordTriggeredField(index, false);
205
+ } else reset();
206
+ break;
207
+ case "resetAll":
208
+ resetValue();
209
+ reset();
210
+ break;
211
+ case "abort":
212
+ if (source === "field-switch" && index === actionIndex) recordTriggeredField(index);
213
+ break;
214
+ }
215
+ };
216
+ return [
217
+ currentIndex,
218
+ activeIndex,
219
+ forceFocus,
220
+ computed(() => triggeredFieldsRef.value.map((field) => field.index)),
221
+ triggerChange,
222
+ reset
223
+ ];
224
+ }
225
+ //#endregion
226
+ export { useRangeValueChange as default };
@@ -18,10 +18,10 @@ var locale = {
18
18
  yearFormat: "YYYY",
19
19
  dayFormat: "D",
20
20
  monthBeforeYear: true,
21
- previousMonth: "ያለፈው ወር (PageUp)",
22
- nextMonth: "ቀጣይ ወር (PageDown)",
23
- previousYear: "ያለፈው ዓመት (Control + left)",
24
- nextYear: "ቀጣይ ዓመት (Control + right)",
21
+ previousMonth: "ያለፈው ወር",
22
+ nextMonth: "ቀጣይ ወር",
23
+ previousYear: "ያለፈው ዓመት",
24
+ nextYear: "ቀጣይ ዓመት",
25
25
  previousDecade: "ያለፈው አስርት ዓመት",
26
26
  nextDecade: "ቀጣይ አስርት ዓመት",
27
27
  previousCentury: "ያለፈው ክፍለ ዘመን",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "اختيار الشهر",
17
17
  yearSelect: "اختيار السنة",
18
18
  decadeSelect: "اختيار العقد",
19
- previousMonth: "الشهر السابق (PageUp)",
20
- nextMonth: "الشهر التالى(PageDown)",
21
- previousYear: "العام السابق (Control + left)",
22
- nextYear: "العام التالى (Control + right)",
19
+ previousMonth: "الشهر السابق",
20
+ nextMonth: "الشهر التالى",
21
+ previousYear: "العام السابق",
22
+ nextYear: "العام التالى",
23
23
  previousDecade: "العقد السابق",
24
24
  nextDecade: "العقد التالى",
25
25
  previousCentury: "القرن السابق",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "Ay seç",
18
18
  yearSelect: "il seç",
19
19
  decadeSelect: "Onillik seçin",
20
- previousMonth: "Əvvəlki ay (PageUp)",
21
- nextMonth: "Növbəti ay (PageDown)",
22
- previousYear: "Sonuncu il (Control + left)",
23
- nextYear: "Növbəti il (Control + right)",
20
+ previousMonth: "Əvvəlki ay",
21
+ nextMonth: "Növbəti ay",
22
+ previousYear: "Sonuncu il",
23
+ nextYear: "Növbəti il",
24
24
  previousDecade: "Sonuncu onillik",
25
25
  nextDecade: "Növbəti onillik",
26
26
  previousCentury: "Sonuncu əsr",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Избор на месец",
17
17
  yearSelect: "Избор на година",
18
18
  decadeSelect: "Десетилетие",
19
- previousMonth: "Предишен месец (PageUp)",
20
- nextMonth: "Следващ месец (PageDown)",
21
- previousYear: "Последна година (Control + left)",
22
- nextYear: "Следваща година (Control + right)",
19
+ previousMonth: "Предишен месец",
20
+ nextMonth: "Следващ месец",
21
+ previousYear: "Последна година",
22
+ nextYear: "Следваща година",
23
23
  previousDecade: "Предишно десетилетие",
24
24
  nextDecade: "Следващо десетилетие",
25
25
  previousCentury: "Последен век",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "মাস পছন্দ করুন",
18
18
  yearSelect: "বছর পছন্দ করুন",
19
19
  decadeSelect: "একটি দশক পছন্দ করুন",
20
- previousMonth: "গত মাস (PageUp)",
21
- nextMonth: "আগামী মাস (PageDown)",
22
- previousYear: "গত বছর (Control + left)",
23
- nextYear: "আগামী বছর (Control + right)",
20
+ previousMonth: "গত মাস",
21
+ nextMonth: "আগামী মাস",
22
+ previousYear: "গত বছর",
23
+ nextYear: "আগামী বছর",
24
24
  previousDecade: "গত দশক",
25
25
  nextDecade: "পরের দশক",
26
26
  previousCentury: "গত শতাব্দী",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "Выбраць месяц",
18
18
  yearSelect: "Выбраць год",
19
19
  decadeSelect: "Выбраць дзесяцігоддзе",
20
- previousMonth: "Папярэдні месяц (PageUp)",
21
- nextMonth: "Наступны месяц (PageDown)",
22
- previousYear: "Папярэдні год (Control + left)",
23
- nextYear: "Наступны год (Control + right)",
20
+ previousMonth: "Папярэдні месяц",
21
+ nextMonth: "Наступны месяц",
22
+ previousYear: "Папярэдні год",
23
+ nextYear: "Наступны год",
24
24
  previousDecade: "Папярэдняе дзесяцігоддзе",
25
25
  nextDecade: "Наступнае дзесяцігоддзе",
26
26
  previousCentury: "Папярэдні век",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Escollir un mes",
17
17
  yearSelect: "Escollir un any",
18
18
  decadeSelect: "Escollir una dècada",
19
- previousMonth: "Mes anterior (PageUp)",
20
- nextMonth: "Mes següent (PageDown)",
21
- previousYear: "Any anterior (Control + left)",
22
- nextYear: "Mes següent (Control + right)",
19
+ previousMonth: "Mes anterior",
20
+ nextMonth: "Mes següent",
21
+ previousYear: "Any anterior",
22
+ nextYear: "Mes següent",
23
23
  previousDecade: "Dècada anterior",
24
24
  nextDecade: "Dècada següent",
25
25
  previousCentury: "Segle anterior",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Vyberte měsíc",
17
17
  yearSelect: "Vyberte rok",
18
18
  decadeSelect: "Vyberte dekádu",
19
- previousMonth: "Předchozí měsíc (PageUp)",
20
- nextMonth: "Následující (PageDown)",
21
- previousYear: "Předchozí rok (Control + left)",
22
- nextYear: "Následující rok (Control + right)",
19
+ previousMonth: "Předchozí měsíc",
20
+ nextMonth: "Následující",
21
+ previousYear: "Předchozí rok",
22
+ nextYear: "Následující rok",
23
23
  previousDecade: "Předchozí dekáda",
24
24
  nextDecade: "Následující dekáda",
25
25
  previousCentury: "Předchozí století",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Vælg måned",
17
17
  yearSelect: "Vælg år",
18
18
  decadeSelect: "Vælg årti",
19
- previousMonth: "Forrige måned (Page Up)",
20
- nextMonth: "Næste måned (Page Down)",
21
- previousYear: "Forrige år (Ctrl-venstre pil)",
22
- nextYear: "Næste år (Ctrl-højre pil)",
19
+ previousMonth: "Forrige måned",
20
+ nextMonth: "Næste måned",
21
+ previousYear: "Forrige år",
22
+ nextYear: "Næste år",
23
23
  previousDecade: "Forrige årti",
24
24
  nextDecade: "Næste årti",
25
25
  previousCentury: "Forrige århundrede",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Wähle einen Monat",
17
17
  yearSelect: "Wähle ein Jahr",
18
18
  decadeSelect: "Wähle ein Jahrzehnt",
19
- previousMonth: "Vorheriger Monat (PageUp)",
20
- nextMonth: "Nächster Monat (PageDown)",
21
- previousYear: "Vorheriges Jahr (Ctrl + left)",
22
- nextYear: "Nächstes Jahr (Ctrl + right)",
19
+ previousMonth: "Vorheriger Monat",
20
+ nextMonth: "Nächster Monat",
21
+ previousYear: "Vorheriges Jahr",
22
+ nextYear: "Nächstes Jahr",
23
23
  previousDecade: "Vorheriges Jahrzehnt",
24
24
  nextDecade: "Nächstes Jahrzehnt",
25
25
  previousCentury: "Vorheriges Jahrhundert",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Επιλογή μήνα",
17
17
  yearSelect: "Επιλογή έτους",
18
18
  decadeSelect: "Επιλογή δεκαετίας",
19
- previousMonth: "Προηγούμενος μήνας (PageUp)",
20
- nextMonth: "Επόμενος μήνας (PageDown)",
21
- previousYear: "Προηγούμενο έτος (Control + αριστερά)",
22
- nextYear: "Επόμενο έτος (Control + δεξιά)",
19
+ previousMonth: "Προηγούμενος μήνας",
20
+ nextMonth: "Επόμενος μήνας",
21
+ previousYear: "Προηγούμενο έτος",
22
+ nextYear: "Επόμενο έτος",
23
23
  previousDecade: "Προηγούμενη δεκαετία",
24
24
  nextDecade: "Επόμενη δεκαετία",
25
25
  previousCentury: "Προηγούμενος αιώνας",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Choose a month",
17
17
  yearSelect: "Choose a year",
18
18
  decadeSelect: "Choose a decade",
19
- previousMonth: "Previous month (PageUp)",
20
- nextMonth: "Next month (PageDown)",
21
- previousYear: "Last year (Control + left)",
22
- nextYear: "Next year (Control + right)",
19
+ previousMonth: "Previous month",
20
+ nextMonth: "Next month",
21
+ previousYear: "Last year",
22
+ nextYear: "Next year",
23
23
  previousDecade: "Last decade",
24
24
  nextDecade: "Next decade",
25
25
  previousCentury: "Last century",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "Choose a month",
18
18
  yearSelect: "Choose a year",
19
19
  decadeSelect: "Choose a decade",
20
- previousMonth: "Previous month (PageUp)",
21
- nextMonth: "Next month (PageDown)",
22
- previousYear: "Last year (Control + left)",
23
- nextYear: "Next year (Control + right)",
20
+ previousMonth: "Previous month",
21
+ nextMonth: "Next month",
22
+ previousYear: "Last year",
23
+ nextYear: "Next year",
24
24
  previousDecade: "Last decade",
25
25
  nextDecade: "Next decade",
26
26
  previousCentury: "Last century",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Elegir un mes",
17
17
  yearSelect: "Elegir un año",
18
18
  decadeSelect: "Elegir una década",
19
- previousMonth: "Mes anterior (PageUp)",
20
- nextMonth: "Mes siguiente (PageDown)",
21
- previousYear: "Año anterior (Control + left)",
22
- nextYear: "Año siguiente (Control + right)",
19
+ previousMonth: "Mes anterior",
20
+ nextMonth: "Mes siguiente",
21
+ previousYear: "Año anterior",
22
+ nextYear: "Año siguiente",
23
23
  previousDecade: "Década anterior",
24
24
  nextDecade: "Década siguiente",
25
25
  previousCentury: "Siglo anterior",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "Seleccionar mes",
18
18
  yearSelect: "Seleccionar año",
19
19
  decadeSelect: "Seleccionar década",
20
- previousMonth: "Mes anterior (PageUp)",
21
- nextMonth: "Mes siguiente (PageDown)",
22
- previousYear: "Año anterior (Control + Left)",
23
- nextYear: "Año siguiente (Control + Right)",
20
+ previousMonth: "Mes anterior",
21
+ nextMonth: "Mes siguiente",
22
+ previousYear: "Año anterior",
23
+ nextYear: "Año siguiente",
24
24
  previousDecade: "Década anterior",
25
25
  nextDecade: "Década siguiente",
26
26
  previousCentury: "Siglo anterior",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Vali kuu",
17
17
  yearSelect: "Vali aasta",
18
18
  decadeSelect: "Vali dekaad",
19
- previousMonth: "Eelmine kuu (PageUp)",
20
- nextMonth: "Järgmine kuu (PageDown)",
21
- previousYear: "Eelmine aasta (Control + left)",
22
- nextYear: "Järgmine aasta (Control + right)",
19
+ previousMonth: "Eelmine kuu",
20
+ nextMonth: "Järgmine kuu",
21
+ previousYear: "Eelmine aasta",
22
+ nextYear: "Järgmine aasta",
23
23
  previousDecade: "Eelmine dekaad",
24
24
  nextDecade: "Järgmine dekaad",
25
25
  previousCentury: "Eelmine sajand",
@@ -18,10 +18,10 @@ var locale = {
18
18
  yearSelect: "Urtea aukeratu",
19
19
  decadeSelect: "Hamarkada aukeratu",
20
20
  monthBeforeYear: false,
21
- previousMonth: "Aurreko hilabetea (RePag)",
22
- nextMonth: "Urrengo hilabetea (AvPag)",
23
- previousYear: "Aurreko urtea (Control + ezkerra)",
24
- nextYear: "Urrento urtea (Control + eskuina)",
21
+ previousMonth: "Aurreko hilabetea",
22
+ nextMonth: "Urrengo hilabetea",
23
+ previousYear: "Aurreko urtea",
24
+ nextYear: "Urrento urtea",
25
25
  previousDecade: "Aurreko hamarkada",
26
26
  nextDecade: "Urrengo hamarkada",
27
27
  previousCentury: "Aurreko mendea",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "یک ماه را انتخاب کنید",
17
17
  yearSelect: "یک سال را انتخاب کنید",
18
18
  decadeSelect: "یک دهه را انتخاب کنید",
19
- previousMonth: "ماه قبل (PageUp)",
20
- nextMonth: "ماه بعد (PageDown)",
21
- previousYear: "سال قبل (Control + left)",
22
- nextYear: "سال بعد (Control + right)",
19
+ previousMonth: "ماه قبل",
20
+ nextMonth: "ماه بعد",
21
+ previousYear: "سال قبل",
22
+ nextYear: "سال بعد",
23
23
  previousDecade: "دهه قبل",
24
24
  nextDecade: "دهه بعد",
25
25
  previousCentury: "قرن قبل",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Valitse kuukausi",
17
17
  yearSelect: "Valitse vuosi",
18
18
  decadeSelect: "Valitse vuosikymmen",
19
- previousMonth: "Edellinen kuukausi (PageUp)",
20
- nextMonth: "Seuraava kuukausi (PageDown)",
21
- previousYear: "Edellinen vuosi (Control + left)",
22
- nextYear: "Seuraava vuosi (Control + right)",
19
+ previousMonth: "Edellinen kuukausi",
20
+ nextMonth: "Seuraava kuukausi",
21
+ previousYear: "Edellinen vuosi",
22
+ nextYear: "Seuraava vuosi",
23
23
  previousDecade: "Edellinen vuosikymmen",
24
24
  nextDecade: "Seuraava vuosikymmen",
25
25
  previousCentury: "Edellinen vuosisata",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Choisissez un mois",
17
17
  yearSelect: "Choisissez une année",
18
18
  decadeSelect: "Choisissez une décennie",
19
- previousMonth: "Mois précédent (PageUp)",
20
- nextMonth: "Mois suivant (PageDown)",
21
- previousYear: "Année précédente (Ctrl + gauche)",
22
- nextYear: "Année prochaine (Ctrl + droite)",
19
+ previousMonth: "Mois précédent",
20
+ nextMonth: "Mois suivant",
21
+ previousYear: "Année précédente",
22
+ nextYear: "Année prochaine",
23
23
  previousDecade: "Décennie précédente",
24
24
  nextDecade: "Décennie suivante",
25
25
  previousCentury: "Siècle précédent",
@@ -17,10 +17,10 @@ var locale = {
17
17
  yearSelect: "Choisissez une année",
18
18
  decadeSelect: "Choisissez une décennie",
19
19
  dayFormat: "DD",
20
- previousMonth: "Mois précédent (PageUp)",
21
- nextMonth: "Mois suivant (PageDown)",
22
- previousYear: "Année précédente (Ctrl + gauche)",
23
- nextYear: "Année prochaine (Ctrl + droite)",
20
+ previousMonth: "Mois précédent",
21
+ nextMonth: "Mois suivant",
22
+ previousYear: "Année précédente",
23
+ nextYear: "Année prochaine",
24
24
  previousDecade: "Décennie précédente",
25
25
  nextDecade: "Décennie suivante",
26
26
  previousCentury: "Siècle précédent",
@@ -17,10 +17,10 @@ var locale = {
17
17
  yearSelect: "Choisissez une année",
18
18
  decadeSelect: "Choisissez une décennie",
19
19
  dayFormat: "DD",
20
- previousMonth: "Mois précédent (PageUp)",
21
- nextMonth: "Mois suivant (PageDown)",
22
- previousYear: "Année précédente (Ctrl + gauche)",
23
- nextYear: "Année prochaine (Ctrl + droite)",
20
+ previousMonth: "Mois précédent",
21
+ nextMonth: "Mois suivant",
22
+ previousYear: "Année précédente",
23
+ nextYear: "Année prochaine",
24
24
  previousDecade: "Décennie précédente",
25
25
  nextDecade: "Décennie suivante",
26
26
  previousCentury: "Siècle précédent",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "Roghnaigh mí",
18
18
  yearSelect: "Roghnaigh bliain",
19
19
  decadeSelect: "Roghnaigh deich mbliana",
20
- previousMonth: "An mhí roimhe seo (PageUp)",
21
- nextMonth: "An mhí seo chugainn (PageDown)",
22
- previousYear: "Anuraidh (Control + left)",
23
- nextYear: "An bhliain seo chugainn (Control + right)",
20
+ previousMonth: "An mhí roimhe seo",
21
+ nextMonth: "An mhí seo chugainn",
22
+ previousYear: "Anuraidh",
23
+ nextYear: "An bhliain seo chugainn",
24
24
  previousDecade: "Le deich mbliana anuas",
25
25
  nextDecade: "Deich mbliana amach romhainn",
26
26
  previousCentury: "An chéid seo caite",
@@ -16,10 +16,10 @@ var locale = {
16
16
  monthSelect: "Elexir un mes",
17
17
  yearSelect: "Elexir un año",
18
18
  decadeSelect: "Elexir unha década",
19
- previousMonth: "Mes anterior (PageUp)",
20
- nextMonth: "Mes seguinte (PageDown)",
21
- previousYear: "Ano anterior (Control + left)",
22
- nextYear: "Ano seguinte (Control + right)",
19
+ previousMonth: "Mes anterior",
20
+ nextMonth: "Mes seguinte",
21
+ previousYear: "Ano anterior",
22
+ nextYear: "Ano seguinte",
23
23
  previousDecade: "Década anterior",
24
24
  nextDecade: "Década seguinte",
25
25
  previousCentury: "Século anterior",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "בחר חודש",
18
18
  yearSelect: "בחר שנה",
19
19
  decadeSelect: "בחר עשור",
20
- previousMonth: "חודש קודם (PageUp)",
21
- nextMonth: "חודש הבא (PageDown)",
22
- previousYear: "שנה שעברה (Control + left)",
23
- nextYear: "שנה הבאה (Control + right)",
20
+ previousMonth: "חודש קודם",
21
+ nextMonth: "חודש הבא",
22
+ previousYear: "שנה שעברה",
23
+ nextYear: "שנה הבאה",
24
24
  previousDecade: "העשור הקודם",
25
25
  nextDecade: "העשור הבא",
26
26
  previousCentury: "המאה הקודמת",
@@ -17,10 +17,10 @@ var locale = {
17
17
  monthSelect: "एक महीना चुनें",
18
18
  yearSelect: "एक वर्ष चुनें",
19
19
  decadeSelect: "एक दशक चुनें",
20
- previousMonth: "पिछला महीना (पेजअप)",
21
- nextMonth: "अगले महीने (पेजडाउन)",
22
- previousYear: "पिछले साल (Ctrl + बाएं)",
23
- nextYear: "अगले साल (Ctrl + दाहिना)",
20
+ previousMonth: "पिछला महीना",
21
+ nextMonth: "अगले महीने",
22
+ previousYear: "पिछले साल",
23
+ nextYear: "अगले साल",
24
24
  previousDecade: "पिछला दशक",
25
25
  nextDecade: "अगले दशक",
26
26
  previousCentury: "पीछ्ली शताब्दी",