@3mo/date-time-fields 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +3 -0
  2. package/dist/Color/Color.d.ts +18 -0
  3. package/dist/Color/Color.d.ts.map +1 -0
  4. package/dist/Color/index.d.ts +2 -0
  5. package/dist/Color/index.d.ts.map +1 -0
  6. package/dist/DateParser.d.ts +9 -0
  7. package/dist/DateParser.d.ts.map +1 -0
  8. package/dist/DateParser.js +93 -0
  9. package/dist/DateRangeParser.d.ts +7 -0
  10. package/dist/DateRangeParser.d.ts.map +1 -0
  11. package/dist/DateRangeParser.js +38 -0
  12. package/dist/DateTime/DateTime.d.ts +48 -0
  13. package/dist/DateTime/DateTime.d.ts.map +1 -0
  14. package/dist/DateTime/DateTimeRange.d.ts +23 -0
  15. package/dist/DateTime/DateTimeRange.d.ts.map +1 -0
  16. package/dist/DateTime/TimeSpan.d.ts +40 -0
  17. package/dist/DateTime/TimeSpan.d.ts.map +1 -0
  18. package/dist/DateTime/index.d.ts +4 -0
  19. package/dist/DateTime/index.d.ts.map +1 -0
  20. package/dist/DateTimeFields/DateParser.d.ts +9 -0
  21. package/dist/DateTimeFields/DateParser.d.ts.map +1 -0
  22. package/dist/DateTimeFields/DateRangeParser.d.ts +7 -0
  23. package/dist/DateTimeFields/DateRangeParser.d.ts.map +1 -0
  24. package/dist/DateTimeFields/FieldDate.d.ts +22 -0
  25. package/dist/DateTimeFields/FieldDate.d.ts.map +1 -0
  26. package/dist/DateTimeFields/FieldDateBase.d.ts +26 -0
  27. package/dist/DateTimeFields/FieldDateBase.d.ts.map +1 -0
  28. package/dist/DateTimeFields/FieldDateRange.d.ts +34 -0
  29. package/dist/DateTimeFields/FieldDateRange.d.ts.map +1 -0
  30. package/dist/DateTimeFields/FieldTime.d.ts +11 -0
  31. package/dist/DateTimeFields/FieldTime.d.ts.map +1 -0
  32. package/dist/DateTimeFields/calendar/Calendar.d.ts +30 -0
  33. package/dist/DateTimeFields/calendar/Calendar.d.ts.map +1 -0
  34. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts +11 -0
  35. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts.map +1 -0
  36. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts +16 -0
  37. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts.map +1 -0
  38. package/dist/DateTimeFields/calendar/index.d.ts +4 -0
  39. package/dist/DateTimeFields/calendar/index.d.ts.map +1 -0
  40. package/dist/DateTimeFields/index.d.ts +11 -0
  41. package/dist/DateTimeFields/index.d.ts.map +1 -0
  42. package/dist/Field/Field.d.ts +38 -0
  43. package/dist/Field/Field.d.ts.map +1 -0
  44. package/dist/Field/FieldComponent.d.ts +48 -0
  45. package/dist/Field/FieldComponent.d.ts.map +1 -0
  46. package/dist/Field/FieldCurrency.d.ts +22 -0
  47. package/dist/Field/FieldCurrency.d.ts.map +1 -0
  48. package/dist/Field/FieldEmail.d.ts +17 -0
  49. package/dist/Field/FieldEmail.d.ts.map +1 -0
  50. package/dist/Field/FieldNumber.d.ts +28 -0
  51. package/dist/Field/FieldNumber.d.ts.map +1 -0
  52. package/dist/Field/FieldPassword.d.ts +17 -0
  53. package/dist/Field/FieldPassword.d.ts.map +1 -0
  54. package/dist/Field/FieldPercent.d.ts +19 -0
  55. package/dist/Field/FieldPercent.d.ts.map +1 -0
  56. package/dist/Field/FieldSearch.d.ts +16 -0
  57. package/dist/Field/FieldSearch.d.ts.map +1 -0
  58. package/dist/Field/FieldText.d.ts +29 -0
  59. package/dist/Field/FieldText.d.ts.map +1 -0
  60. package/dist/Field/FieldTextArea.d.ts +26 -0
  61. package/dist/Field/FieldTextArea.d.ts.map +1 -0
  62. package/dist/Field/InputFieldComponent.d.ts +30 -0
  63. package/dist/Field/InputFieldComponent.d.ts.map +1 -0
  64. package/dist/Field/index.d.ts +13 -0
  65. package/dist/Field/index.d.ts.map +1 -0
  66. package/dist/FieldDate.d.ts +22 -0
  67. package/dist/FieldDate.d.ts.map +1 -0
  68. package/dist/FieldDate.js +45 -0
  69. package/dist/FieldDateBase.d.ts +26 -0
  70. package/dist/FieldDateBase.d.ts.map +1 -0
  71. package/dist/FieldDateBase.js +95 -0
  72. package/dist/FieldDateRange.d.ts +34 -0
  73. package/dist/FieldDateRange.d.ts.map +1 -0
  74. package/dist/FieldDateRange.js +123 -0
  75. package/dist/FieldTime.d.ts +11 -0
  76. package/dist/FieldTime.d.ts.map +1 -0
  77. package/dist/FieldTime.js +19 -0
  78. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts +9 -0
  79. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts.map +1 -0
  80. package/dist/Flex/Flex.d.ts +39 -0
  81. package/dist/Flex/Flex.d.ts.map +1 -0
  82. package/dist/Flex/index.d.ts +3 -0
  83. package/dist/Flex/index.d.ts.map +1 -0
  84. package/dist/FocusController/FocusController.d.ts +17 -0
  85. package/dist/FocusController/FocusController.d.ts.map +1 -0
  86. package/dist/FocusController/index.d.ts +2 -0
  87. package/dist/FocusController/index.d.ts.map +1 -0
  88. package/dist/Icon/Icon.d.ts +33 -0
  89. package/dist/Icon/Icon.d.ts.map +1 -0
  90. package/dist/Icon/MaterialIcon.d.ts +2 -0
  91. package/dist/Icon/MaterialIcon.d.ts.map +1 -0
  92. package/dist/Icon/index.d.ts +3 -0
  93. package/dist/Icon/index.d.ts.map +1 -0
  94. package/dist/IconButton/IconButton.d.ts +24 -0
  95. package/dist/IconButton/IconButton.d.ts.map +1 -0
  96. package/dist/IconButton/index.d.ts +3 -0
  97. package/dist/IconButton/index.d.ts.map +1 -0
  98. package/dist/PointerController/PointerController.d.ts +16 -0
  99. package/dist/PointerController/PointerController.d.ts.map +1 -0
  100. package/dist/PointerController/index.d.ts +2 -0
  101. package/dist/PointerController/index.d.ts.map +1 -0
  102. package/dist/Popover/Popover.d.ts +33 -0
  103. package/dist/Popover/Popover.d.ts.map +1 -0
  104. package/dist/Popover/PopoverController.d.ts +16 -0
  105. package/dist/Popover/PopoverController.d.ts.map +1 -0
  106. package/dist/Popover/PopoverPlacement.d.ts +7 -0
  107. package/dist/Popover/PopoverPlacement.d.ts.map +1 -0
  108. package/dist/Popover/index.d.ts +3 -0
  109. package/dist/Popover/index.d.ts.map +1 -0
  110. package/dist/SlotController/SlotController.d.ts +19 -0
  111. package/dist/SlotController/SlotController.d.ts.map +1 -0
  112. package/dist/SlotController/index.d.ts +2 -0
  113. package/dist/SlotController/index.d.ts.map +1 -0
  114. package/dist/Theme/Accent.d.ts +14 -0
  115. package/dist/Theme/Accent.d.ts.map +1 -0
  116. package/dist/Theme/Background.d.ts +12 -0
  117. package/dist/Theme/Background.d.ts.map +1 -0
  118. package/dist/Theme/ColorSet.d.ts +7 -0
  119. package/dist/Theme/ColorSet.d.ts.map +1 -0
  120. package/dist/Theme/Theme.d.ts +7 -0
  121. package/dist/Theme/Theme.d.ts.map +1 -0
  122. package/dist/Theme/ThemeController.d.ts +10 -0
  123. package/dist/Theme/ThemeController.d.ts.map +1 -0
  124. package/dist/Theme/index.d.ts +7 -0
  125. package/dist/Theme/index.d.ts.map +1 -0
  126. package/dist/Theme/styles.css.d.ts +2 -0
  127. package/dist/Theme/styles.css.d.ts.map +1 -0
  128. package/dist/bundle.js +1 -0
  129. package/dist/calendar/Calendar.d.ts +30 -0
  130. package/dist/calendar/Calendar.d.ts.map +1 -0
  131. package/dist/calendar/Calendar.js +203 -0
  132. package/dist/calendar/CalendarSelectionAdapter.d.ts +11 -0
  133. package/dist/calendar/CalendarSelectionAdapter.d.ts.map +1 -0
  134. package/dist/calendar/CalendarSelectionAdapter.js +11 -0
  135. package/dist/calendar/SelectableCalendar.d.ts +16 -0
  136. package/dist/calendar/SelectableCalendar.d.ts.map +1 -0
  137. package/dist/calendar/SelectableCalendar.js +35 -0
  138. package/dist/calendar/index.d.ts +4 -0
  139. package/dist/calendar/index.d.ts.map +1 -0
  140. package/dist/calendar/index.js +3 -0
  141. package/dist/disabledProperty/disabledProperty.d.ts +6 -0
  142. package/dist/disabledProperty/disabledProperty.d.ts.map +1 -0
  143. package/dist/disabledProperty/index.d.ts +2 -0
  144. package/dist/disabledProperty/index.d.ts.map +1 -0
  145. package/dist/index.d.ts +11 -0
  146. package/dist/index.d.ts.map +1 -0
  147. package/dist/index.js +10 -0
  148. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts +13 -0
  149. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts.map +1 -0
  150. package/dist/localization/DirectionsByLanguage.d.ts +11 -0
  151. package/dist/localization/DirectionsByLanguage.d.ts.map +1 -0
  152. package/dist/localization/LanguageCode.d.ts +187 -0
  153. package/dist/localization/LanguageCode.d.ts.map +1 -0
  154. package/dist/localization/LanguageController.d.ts +10 -0
  155. package/dist/localization/LanguageController.d.ts.map +1 -0
  156. package/dist/localization/Localizer.d.ts +41 -0
  157. package/dist/localization/Localizer.d.ts.map +1 -0
  158. package/dist/localization/formatters/Currency.d.ts +373 -0
  159. package/dist/localization/formatters/Currency.d.ts.map +1 -0
  160. package/dist/localization/formatters/Date.format.d.ts +31 -0
  161. package/dist/localization/formatters/Date.format.d.ts.map +1 -0
  162. package/dist/localization/formatters/Date.formatAsDate.d.ts +9 -0
  163. package/dist/localization/formatters/Date.formatAsDate.d.ts.map +1 -0
  164. package/dist/localization/formatters/Date.formatAsTime.d.ts +9 -0
  165. package/dist/localization/formatters/Date.formatAsTime.d.ts.map +1 -0
  166. package/dist/localization/formatters/Number.format.d.ts +9 -0
  167. package/dist/localization/formatters/Number.format.d.ts.map +1 -0
  168. package/dist/localization/formatters/Number.formatAsCurrency.d.ts +12 -0
  169. package/dist/localization/formatters/Number.formatAsCurrency.d.ts.map +1 -0
  170. package/dist/localization/formatters/Number.formatAsPercent.d.ts +9 -0
  171. package/dist/localization/formatters/Number.formatAsPercent.d.ts.map +1 -0
  172. package/dist/localization/formatters/Number.formatAsUnit.d.ts +11 -0
  173. package/dist/localization/formatters/Number.formatAsUnit.d.ts.map +1 -0
  174. package/dist/localization/formatters/OptionsWithLanguage.d.ts +5 -0
  175. package/dist/localization/formatters/OptionsWithLanguage.d.ts.map +1 -0
  176. package/dist/localization/formatters/String.toNumber.d.ts +7 -0
  177. package/dist/localization/formatters/String.toNumber.d.ts.map +1 -0
  178. package/dist/localization/formatters/index.d.ts +10 -0
  179. package/dist/localization/formatters/index.d.ts.map +1 -0
  180. package/dist/localization/index.d.ts +7 -0
  181. package/dist/localization/index.d.ts.map +1 -0
  182. package/dist/tsconfig.tsbuildinfo +1 -0
  183. package/package.json +38 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Date Time Fields
2
+
3
+ A set of date-time related fields.
@@ -0,0 +1,18 @@
1
+ import ColorString from 'color-string';
2
+ export declare class Color {
3
+ readonly color: ColorString.Color;
4
+ constructor(color: string | [r: number, g: number, b: number, a: number]);
5
+ get r(): number;
6
+ get g(): number;
7
+ get b(): number;
8
+ get a(): number;
9
+ get hex(): string;
10
+ get rgb(): string;
11
+ get rgbPercent(): string;
12
+ get hsl(): string;
13
+ get hsv(): string;
14
+ get keyword(): string;
15
+ toString(): string;
16
+ valueOf(): string;
17
+ }
18
+ //# sourceMappingURL=Color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../Color/Color.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,qBAAa,KAAK;IACjB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAA;gBAErB,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC;IAMxE,IAAI,CAAC,WAA2B;IAChC,IAAI,CAAC,WAA2B;IAChC,IAAI,CAAC,WAA2B;IAChC,IAAI,CAAC,WAA2B;IAEhC,IAAI,GAAG,WAA4C;IACnD,IAAI,GAAG,WAA4C;IACnD,IAAI,UAAU,WAAoD;IAClE,IAAI,GAAG,WAA4C;IACnD,IAAI,GAAG,WAA4C;IACnD,IAAI,OAAO,WAAgD;IAE3D,QAAQ;IACR,OAAO;CACP"}
@@ -0,0 +1,2 @@
1
+ export * from './Color.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../Color/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare class DateParser {
2
+ private static getDateSeparator;
3
+ static parse(dateText: string, referenceDate?: import("@3mo/date-time/DateTime.js").DateTime): import("@3mo/date-time/DateTime.js").DateTime | undefined;
4
+ private static parseDateFromLocalDate;
5
+ private static parseDateFromOperation;
6
+ private static parseDateFromShortcut;
7
+ private static parseDateFromKeyword;
8
+ }
9
+ //# sourceMappingURL=DateParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateParser.d.ts","sourceRoot":"","sources":["../DateParser.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,gDAAe;IAgC3D,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAgBrC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA8BnC"}
@@ -0,0 +1,93 @@
1
+ import { Localizer } from '@3mo/localization';
2
+ export class DateParser {
3
+ static getDateSeparator(language = Localizer.currentLanguage) {
4
+ return Intl.DateTimeFormat(language).format(new Date).replace(/\p{Number}/gu, '')[0];
5
+ }
6
+ static parse(dateText, referenceDate = new DateTime) {
7
+ dateText = dateText.toLowerCase().trim();
8
+ if (!dateText) {
9
+ return undefined;
10
+ }
11
+ if (dateText.startsWith('+') || dateText.startsWith('-')) {
12
+ return DateParser.parseDateFromOperation(dateText, referenceDate);
13
+ }
14
+ if (dateText.includes(DateParser.getDateSeparator())) {
15
+ return DateParser.parseDateFromLocalDate(dateText, referenceDate);
16
+ }
17
+ if ((dateText.length === 3 || dateText.length === 4 || dateText.length === 8) && !isNaN(parseInt(dateText))) {
18
+ return DateParser.parseDateFromShortcut(dateText);
19
+ }
20
+ const date = new DateTime(dateText || new DateTime);
21
+ if (String(date) !== 'Invalid Date') {
22
+ return date;
23
+ }
24
+ const keywordDate = DateParser.parseDateFromKeyword(dateText, referenceDate);
25
+ if (keywordDate) {
26
+ return keywordDate;
27
+ }
28
+ return undefined;
29
+ }
30
+ static parseDateFromLocalDate(dateText, referenceDate = new DateTime) {
31
+ const date = new DateTime(dateText);
32
+ if (String(date) === 'Invalid Date') {
33
+ return undefined;
34
+ }
35
+ const dateParts = dateText.split(DateParser.getDateSeparator());
36
+ if (dateParts.length === 2) {
37
+ date.setFullYear(referenceDate.getFullYear());
38
+ }
39
+ return date;
40
+ }
41
+ static parseDateFromOperation(dateText, referenceDate = new DateTime) {
42
+ const lastChar = dateText.charAt(dateText.length - 1).toLowerCase();
43
+ let num;
44
+ if (!isNaN(Number(lastChar))) {
45
+ num = parseInt(dateText.substring(0, dateText.length));
46
+ return referenceDate.addDays(num);
47
+ }
48
+ else {
49
+ num = parseInt(dateText.substring(0, dateText.length - 1));
50
+ switch (lastChar) {
51
+ case 'y': return referenceDate.addYears(num);
52
+ case 'm': return referenceDate.addMonths(num);
53
+ default: return undefined;
54
+ }
55
+ }
56
+ }
57
+ static parseDateFromShortcut(dateText) {
58
+ const day = dateText.substring(0, 2);
59
+ const month = dateText.substring(2, dateText.length >= 4 ? 4 : 3);
60
+ const year = length !== 8 ? undefined : dateText.substring(4, 8);
61
+ return new DateTime(year ? parseInt(year) : new Date().getFullYear(), parseInt(month) - 1, parseInt(day));
62
+ }
63
+ static parseDateFromKeyword(keyword, referenceDate = new DateTime) {
64
+ switch (keyword) {
65
+ case 'h': return new DateTime(referenceDate);
66
+ case 'üm': return referenceDate.addDays(+2);
67
+ case 'm': return referenceDate.addDays(+1);
68
+ case 'üüm': return referenceDate.addDays(+3);
69
+ case 'g': return referenceDate.addDays(-1);
70
+ case 'vg': return referenceDate.addDays(-2);
71
+ case 'vvg': return referenceDate.addDays(-3);
72
+ case 'adw': return referenceDate.weekStart;
73
+ case 'edw': return referenceDate.weekEnd;
74
+ case 'anw': return referenceDate.addWeeks(+1).weekStart;
75
+ case 'enw': return referenceDate.addWeeks(+1).weekEnd;
76
+ case 'alw': return referenceDate.addWeeks(-1).weekStart;
77
+ case 'elw': return referenceDate.addWeeks(-1).weekEnd;
78
+ case 'adm': return referenceDate.monthStart;
79
+ case 'edm': return referenceDate.monthEnd;
80
+ case 'anm': return referenceDate.addMonths(+1).monthStart;
81
+ case 'enm': return referenceDate.addMonths(+1).monthEnd;
82
+ case 'alm': return referenceDate.addMonths(-1).monthStart;
83
+ case 'elm': return referenceDate.addMonths(-1).monthEnd;
84
+ case 'adj': return referenceDate.yearStart;
85
+ case 'edj': return referenceDate.yearEnd;
86
+ case 'anj': return referenceDate.addYears(+1).yearStart;
87
+ case 'enj': return referenceDate.addYears(+1).yearEnd;
88
+ case 'alj': return referenceDate.addYears(-1).yearStart;
89
+ case 'elj': return referenceDate.addYears(-1).yearEnd;
90
+ default: return undefined;
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,7 @@
1
+ export declare class DateRangeParser {
2
+ static readonly dateRangeSeparator = " \u2013 ";
3
+ static readonly userDateRangeSeparators: string[];
4
+ static parse(dateRangeText: string, referenceDate?: import("@3mo/date-time/DateTime.js").DateTime): import("@3mo/date-time/DateTimeRange.js").DateTimeRange;
5
+ private static parseDateRangeFromKeyword;
6
+ }
7
+ //# sourceMappingURL=DateRangeParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangeParser.d.ts","sourceRoot":"","sources":["../DateRangeParser.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAC3B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,cAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,WAAsD;IAE7F,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,gDAAe;IAqBhE,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAiBxC"}
@@ -0,0 +1,38 @@
1
+ import { DateParser } from './DateParser.js';
2
+ class DateRangeParser {
3
+ static parse(dateRangeText, referenceDate = new DateTime) {
4
+ const keywordResult = DateRangeParser.parseDateRangeFromKeyword(dateRangeText, referenceDate);
5
+ if (keywordResult) {
6
+ return keywordResult;
7
+ }
8
+ let separator = DateRangeParser.userDateRangeSeparators.find(separator => dateRangeText.includes(separator));
9
+ if (!separator) {
10
+ dateRangeText += DateRangeParser.dateRangeSeparator;
11
+ separator = DateRangeParser.dateRangeSeparator;
12
+ }
13
+ const [startDateText, endDateText] = dateRangeText.toLowerCase().split(separator);
14
+ const startDate = DateParser.parse(startDateText, referenceDate);
15
+ const endDate = DateParser.parse(endDateText, referenceDate);
16
+ return new DateTimeRange(startDate, endDate);
17
+ }
18
+ static parseDateRangeFromKeyword(keyword, referenceDate = new DateTime) {
19
+ switch (keyword) {
20
+ case 'w':
21
+ case 'dw': return new DateTimeRange(referenceDate.weekStart, referenceDate.weekEnd);
22
+ case 'nw': return new DateTimeRange(referenceDate.addWeeks(+1).weekStart, referenceDate.addWeeks(+1).weekEnd);
23
+ case 'lw': return new DateTimeRange(referenceDate.addWeeks(-1).weekStart, referenceDate.addWeeks(-1).weekEnd);
24
+ case 'm':
25
+ case 'dm': return new DateTimeRange(referenceDate.monthStart, referenceDate.monthEnd);
26
+ case 'lm': return new DateTimeRange(referenceDate.addMonths(-1).monthStart, referenceDate.addMonths(-1).monthEnd);
27
+ case 'nm': return new DateTimeRange(referenceDate.addMonths(+1).monthStart, referenceDate.addMonths(+1).monthEnd);
28
+ case 'j':
29
+ case 'dj': return new DateTimeRange(referenceDate.yearStart, referenceDate.yearEnd);
30
+ case 'lj': return new DateTimeRange(referenceDate.addYears(-1).yearStart, referenceDate.addYears(-1).yearEnd);
31
+ case 'nj': return new DateTimeRange(referenceDate.addYears(+1).yearStart, referenceDate.addYears(+1).yearEnd);
32
+ default: return undefined;
33
+ }
34
+ }
35
+ }
36
+ DateRangeParser.dateRangeSeparator = ' – ';
37
+ DateRangeParser.userDateRangeSeparators = [DateRangeParser.dateRangeSeparator, ' ', '-', '~'];
38
+ export { DateRangeParser };
@@ -0,0 +1,48 @@
1
+ import { Temporal } from 'temporal-polyfill';
2
+ import { TimeSpan } from './TimeSpan.js';
3
+ export declare class DateTime extends Date {
4
+ static readonly isoRegularExpression: RegExp;
5
+ static getWeekDayNames(language?: import("@3mo/localization").LanguageCode): string[];
6
+ static fromEpochNanoseconds(epochNanoseconds: bigint): DateTime;
7
+ private _temporalInstant?;
8
+ get temporalInstant(): Temporal.Instant;
9
+ private _zonedDateTime?;
10
+ get zonedDateTime(): Temporal.ZonedDateTime;
11
+ equals(comparisonDate: Parameters<Temporal.Instant['equals']>[0] | DateTime): boolean;
12
+ isBefore(comparisonDate: DateTime): boolean;
13
+ isAfter(comparisonDate: DateTime): boolean;
14
+ since(comparisonDate?: Parameters<Temporal.Instant['since']>[0] | DateTime): TimeSpan;
15
+ until(comparisonDate?: Parameters<Temporal.Instant['until']>[0] | DateTime): TimeSpan;
16
+ add(...parameters: Parameters<Temporal.ZonedDateTime['add']>): DateTime;
17
+ subtract(...parameters: Parameters<Temporal.ZonedDateTime['subtract']>): DateTime;
18
+ round(...parameters: Parameters<Temporal.ZonedDateTime['round']>): DateTime;
19
+ get day(): number;
20
+ addDays(days: number): DateTime;
21
+ get dayOfWeek(): number;
22
+ get weekOfYear(): number;
23
+ get weekRange(): import("./DateTimeRange.js").DateTimeRange;
24
+ get weekStart(): DateTime | undefined;
25
+ get weekEnd(): DateTime | undefined;
26
+ addWeeks(weeks: number): DateTime;
27
+ static get monthNames(): string[];
28
+ get month(): number;
29
+ get localMonth(): number;
30
+ get monthName(): string | undefined;
31
+ get monthRange(): import("./DateTimeRange.js").DateTimeRange;
32
+ get monthStart(): DateTime | undefined;
33
+ get monthEnd(): DateTime | undefined;
34
+ addMonths(months: number): DateTime;
35
+ addYears(years: number): DateTime;
36
+ get year(): number;
37
+ get yearStart(): DateTime;
38
+ get yearEnd(): DateTime;
39
+ get yearNames(): string[];
40
+ get yearName(): string | undefined;
41
+ }
42
+ type DateTimeClass = typeof DateTime;
43
+ declare global {
44
+ var DateTime: DateTimeClass;
45
+ type DateTime = InstanceType<DateTimeClass>;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=DateTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../../../DateTime/DateTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,qBAAa,QAAS,SAAQ,IAAI;IACjC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,SAAqF;IAEzH,MAAM,CAAC,eAAe,CAAC,QAAQ,2CAA4B;IAM3D,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,MAAM;IAIpD,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,IAAI,eAAe,qBAElB;IAED,OAAO,CAAC,cAAc,CAAC,CAAwB;IAC/C,IAAI,aAAa,2BAKhB;IAED,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ;IAK3E,QAAQ,CAAC,cAAc,EAAE,QAAQ;IAIjC,OAAO,CAAC,cAAc,EAAE,QAAQ;IAIhC,KAAK,CAAC,cAAc,GAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAuB;IAMxF,KAAK,CAAC,cAAc,GAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAuB;IAMxF,GAAG,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAI5D,QAAQ,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAItE,KAAK,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAIhE,IAAI,GAAG,WAEN;IAED,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,IAAI,SAAS,WAEZ;IAED,IAAI,UAAU,WAEb;IAED,IAAI,SAAS,+CAIZ;IAED,IAAI,SAAS,yBAEZ;IAED,IAAI,OAAO,yBAEV;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,MAAM,KAAK,UAAU,aAIpB;IAED,IAAI,KAAK,WAER;IAED,IAAI,UAAU,WAEb;IAED,IAAI,SAAS,uBAEZ;IAED,IAAI,UAAU,+CAMb;IAED,IAAI,UAAU,yBAEb;IAED,IAAI,QAAQ,yBAEX;IAED,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,IAAI,IAAI,WAEP;IAED,IAAI,SAAS,aAEZ;IAED,IAAI,OAAO,aAEV;IAED,IAAI,SAAS,aAIZ;IAED,IAAI,QAAQ,uBAEX;CACD;AAGD,KAAK,aAAa,GAAG,OAAO,QAAQ,CAAA;AACpC,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,QAAQ,EAAE,aAAa,CAAA;IAC3B,KAAK,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;CAC3C"}
@@ -0,0 +1,23 @@
1
+ import { LanguageCode } from '@3mo/localization';
2
+ export declare class DateTimeRange {
3
+ static parse(dateRange: string): DateTimeRange;
4
+ private static getUntilDelimiter;
5
+ private static sort;
6
+ readonly start?: DateTime;
7
+ readonly end?: DateTime;
8
+ constructor(startDate?: Date, endDate?: Date);
9
+ get isInfinite(): boolean;
10
+ includes(date: Date): boolean;
11
+ equals(other: DateTimeRange): boolean | undefined;
12
+ toString(): string;
13
+ format(options?: Intl.DateTimeFormatOptions & {
14
+ readonly language?: LanguageCode;
15
+ }): string;
16
+ }
17
+ type DateTimeRangeClass = typeof DateTimeRange;
18
+ declare global {
19
+ var DateTimeRange: DateTimeRangeClass;
20
+ type DateTimeRange = InstanceType<DateTimeRangeClass>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=DateTimeRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeRange.d.ts","sourceRoot":"","sources":["../../../DateTime/DateTimeRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqC,MAAM,mBAAmB,CAAA;AAEnF,qBAAa,aAAa;IACzB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM;IAS9B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAQhC,OAAO,CAAC,MAAM,CAAC,IAAI;IAQnB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAA;gBAEX,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI;IAQ5C,IAAI,UAAU,YAEb;IAED,QAAQ,CAAC,IAAI,EAAE,IAAI;IAInB,MAAM,CAAC,KAAK,EAAE,aAAa;IAK3B,QAAQ;IAIR,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE;CAuBlF;AAGD,KAAK,kBAAkB,GAAG,OAAO,aAAa,CAAA;AAC9C,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,aAAa,EAAE,kBAAkB,CAAA;IACrC,KAAK,aAAa,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;CACrD"}
@@ -0,0 +1,40 @@
1
+ import { LanguageCode } from '@3mo/localization';
2
+ export declare class TimeSpan {
3
+ readonly milliseconds: number;
4
+ static readonly ticksPerSecond = 1000;
5
+ static readonly ticksPerMinute: number;
6
+ static readonly ticksPerHour: number;
7
+ static readonly ticksPerDay: number;
8
+ static readonly ticksPerWeek: number;
9
+ static readonly ticksPerMonths: number;
10
+ static readonly ticksPerYear: number;
11
+ static get zero(): TimeSpan;
12
+ static fromMilliseconds(milliseconds: number): TimeSpan;
13
+ static fromSeconds(seconds: number): TimeSpan;
14
+ static fromMinutes(minutes: number): TimeSpan;
15
+ static fromHours(hours: number): TimeSpan;
16
+ static fromDays(days: number): TimeSpan;
17
+ static fromWeeks(weeks: number): TimeSpan;
18
+ static fromMonths(months: number): TimeSpan;
19
+ static fromYears(years: number): TimeSpan;
20
+ constructor(milliseconds: number);
21
+ get seconds(): number;
22
+ get minutes(): number;
23
+ get hours(): number;
24
+ get days(): number;
25
+ get weeks(): number;
26
+ get months(): number;
27
+ get years(): number;
28
+ valueOf(): number;
29
+ toString(): string;
30
+ format(options?: Intl.RelativeTimeFormatOptions & {
31
+ readonly language?: LanguageCode;
32
+ }): string;
33
+ }
34
+ type TimeSpanClass = typeof TimeSpan;
35
+ declare global {
36
+ var TimeSpan: TimeSpanClass;
37
+ type TimeSpan = InstanceType<TimeSpanClass>;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=TimeSpan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeSpan.d.ts","sourceRoot":"","sources":["../../../DateTime/TimeSpan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAA;AAExE,qBAAa,QAAQ;IAmBR,QAAQ,CAAC,YAAY,EAAE,MAAM;IAlBzC,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAO;IACrC,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA+B;IAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,SAA+B;IAC3D,MAAM,CAAC,QAAQ,CAAC,WAAW,SAA6B;IACxD,MAAM,CAAC,QAAQ,CAAC,YAAY,SAA2B;IACvD,MAAM,CAAC,QAAQ,CAAC,cAAc,SAA4B;IAC1D,MAAM,CAAC,QAAQ,CAAC,YAAY,SAA6B;IAEzD,MAAM,KAAK,IAAI,aAA6B;IAC5C,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM;IAC5C,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM;IAClC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM;IAClC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;IAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAC5B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;IAC9B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;IAChC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM;gBAET,YAAY,EAAE,MAAM;IAEzC,IAAI,OAAO,WAAyD;IACpE,IAAI,OAAO,WAAyD;IACpE,IAAI,KAAK,WAAuD;IAChE,IAAI,IAAI,WAAsD;IAC9D,IAAI,KAAK,WAAuD;IAChE,IAAI,MAAM,WAAyD;IACnE,IAAI,KAAK,WAAuD;IAEhE,OAAO;IAEP,QAAQ;IAER,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,GAAG;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE;CAqBtF;AAID,KAAK,aAAa,GAAG,OAAO,QAAQ,CAAA;AACpC,OAAO,CAAC,MAAM,CAAC;IAEd,IAAI,QAAQ,EAAE,aAAa,CAAA;IAC3B,KAAK,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAA;CAC3C"}
@@ -0,0 +1,4 @@
1
+ export * from './DateTime.js';
2
+ export * from './DateTimeRange.js';
3
+ export * from './TimeSpan.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../DateTime/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare class DateParser {
2
+ private static getDateSeparator;
3
+ static parse(dateText: string, referenceDate?: import("@3mo/date-time/DateTime.js").DateTime): import("@3mo/date-time/DateTime.js").DateTime | undefined;
4
+ private static parseDateFromLocalDate;
5
+ private static parseDateFromOperation;
6
+ private static parseDateFromShortcut;
7
+ private static parseDateFromKeyword;
8
+ }
9
+ //# sourceMappingURL=DateParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateParser.d.ts","sourceRoot":"","sources":["../../DateParser.ts"],"names":[],"mappings":"AAEA,qBAAa,UAAU;IACtB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,gDAAe;IAgC3D,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAgBrC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiBrC,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA8BnC"}
@@ -0,0 +1,7 @@
1
+ export declare class DateRangeParser {
2
+ static readonly dateRangeSeparator = " \u2013 ";
3
+ static readonly userDateRangeSeparators: string[];
4
+ static parse(dateRangeText: string, referenceDate?: import("@3mo/date-time/DateTime.js").DateTime): import("@3mo/date-time/DateTimeRange.js").DateTimeRange;
5
+ private static parseDateRangeFromKeyword;
6
+ }
7
+ //# sourceMappingURL=DateRangeParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangeParser.d.ts","sourceRoot":"","sources":["../../DateRangeParser.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IAC3B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,cAAQ;IAC1C,MAAM,CAAC,QAAQ,CAAC,uBAAuB,WAAsD;IAE7F,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,gDAAe;IAqBhE,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAiBxC"}
@@ -0,0 +1,22 @@
1
+ import { ClassInfo } from '@a11d/lit';
2
+ import { CalendarSelectionAdapter } from './calendar/index.js';
3
+ import { FieldDateBase } from './FieldDateBase.js';
4
+ declare class DateCalendarSelectionAdapter extends CalendarSelectionAdapter<DateTime> {
5
+ getDayTemplate(day: DateTime, classInfo: ClassInfo): import("lit-html").TemplateResult<1>;
6
+ getNavigatingDate(value?: DateTime): import("@3mo/date-time/DateTime.js").DateTime;
7
+ }
8
+ /** @element mo-field-date */
9
+ export declare class FieldDate extends FieldDateBase<Date | undefined> {
10
+ protected calendarSelectionAdapterConstructor: typeof DateCalendarSelectionAdapter;
11
+ value?: Date;
12
+ protected handleCalendarChange(value?: Date): void;
13
+ protected valueToInputValue(value: Date | undefined): string;
14
+ protected inputValueToValue(value: string): import("@3mo/date-time/DateTime.js").DateTime | undefined;
15
+ }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'mo-field-date': FieldDate;
19
+ }
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=FieldDate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDate.d.ts","sourceRoot":"","sources":["../../FieldDate.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,SAAS,EAAuB,MAAM,WAAW,CAAA;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,cAAM,4BAA6B,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC5E,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAIlD,iBAAiB,CAAC,KAAK,CAAC,EAAE,QAAQ;CAIlC;AAED,6BAA6B;AAC7B,qBACa,SAAU,SAAQ,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC;IAC7D,SAAS,CAAC,mCAAmC,sCAA+B;IAEhD,KAAK,CAAC,EAAE,IAAI,CAAA;cAErB,oBAAoB,CAAC,KAAK,CAAC,EAAE,IAAI;IAKpD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,GAAG,SAAS;IAInD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM;CAGzC;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,SAAS,CAAA;KAC1B;CACD"}
@@ -0,0 +1,26 @@
1
+ import { InputFieldComponent } from '@3mo/field';
2
+ import { MaterialIcon } from '@3mo/icon';
3
+ import { CalendarSelectionAdapter, SelectableCalendar } from './calendar/index.js';
4
+ /**
5
+ * @attr open - Whether the date picker is open
6
+ * @attr hideDatePicker - Hide the date picker
7
+ * @attr shortcutReferenceDate - The date to use as a reference for shortcuts
8
+ */
9
+ export declare abstract class FieldDateBase<T> extends InputFieldComponent<T> {
10
+ open: boolean;
11
+ hideDatePicker: boolean;
12
+ shortcutReferenceDate: import("@3mo/date-time/DateTime.js").DateTime;
13
+ protected readonly calendarElement?: SelectableCalendar<T>;
14
+ protected readonly abstract calendarSelectionAdapterConstructor: Constructor<CalendarSelectionAdapter<T>>;
15
+ protected handleChange(value?: T, e?: Event): void;
16
+ static get styles(): import("@a11d/lit").CSSResult;
17
+ protected get endSlotTemplate(): import("lit-html").TemplateResult<1>;
18
+ protected get inputTemplate(): import("lit-html").TemplateResult<1>;
19
+ protected abstract inputValueToValue(value: string): T | undefined;
20
+ protected abstract valueToInputValue(value: T | undefined): string;
21
+ protected get calendarIconButtonTemplate(): import("lit-html").TemplateResult<1>;
22
+ protected get menuContentTemplate(): import("lit-html").TemplateResult<1>;
23
+ protected readonly calendarIconButtonIcon: MaterialIcon;
24
+ protected handleCalendarChange(value: T): void;
25
+ }
26
+ //# sourceMappingURL=FieldDateBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDateBase.d.ts","sourceRoot":"","sources":["../../FieldDateBase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAElF;;;;GAIG;AACH,8BAAsB,aAAa,CAAC,CAAC,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACxB,IAAI,UAAQ;IAC3B,cAAc,UAAQ;IACvB,qBAAqB,gDAAe;IAE/B,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAE3F,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,EAAE,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAA;cAEtF,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK;IAKpD,WAAoB,MAAM,kCAEzB;IAED,cAAuB,eAAe,yCAErC;IAED,cAAuB,aAAa,yCAEnC;IAED,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;uBACtC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;IAE3E,SAAS,KAAK,0BAA0B,yCAEvC;IAED,SAAS,KAAK,mBAAmB,yCAEhC;IAED,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,YAAY,CAAU;IAEjE,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;CAIvC"}
@@ -0,0 +1,34 @@
1
+ import { ClassInfo } from '@a11d/lit';
2
+ import { MaterialIcon } from '@3mo/icon';
3
+ import { FieldDateBase } from './FieldDateBase.js';
4
+ import { CalendarSelectionAdapter } from './calendar/index.js';
5
+ declare const enum DateRangeCalendarSelectionAdapterCurrentSelection {
6
+ StartDate = 0,
7
+ EndDate = 1
8
+ }
9
+ declare class DateRangeCalendarSelectionAdapter extends CalendarSelectionAdapter<DateTimeRange> {
10
+ currentSelection: DateRangeCalendarSelectionAdapterCurrentSelection;
11
+ get styles(): import("@a11d/lit").CSSResult;
12
+ getDayTemplate(day: DateTime, classInfo: ClassInfo): import("lit-html").TemplateResult<1>;
13
+ getNavigatingDate(value?: DateTimeRange): import("@3mo/date-time/DateTime.js").DateTime;
14
+ private handleClick;
15
+ }
16
+ /** @element mo-field-date-range */
17
+ export declare class FieldDateRange extends FieldDateBase<DateTimeRange | undefined> {
18
+ private get currentSelection();
19
+ private set currentSelection(value);
20
+ protected calendarSelectionAdapterConstructor: typeof DateRangeCalendarSelectionAdapter;
21
+ value?: DateTimeRange;
22
+ protected calendarIconButtonIcon: MaterialIcon;
23
+ protected handleCalendarChange(value?: DateTimeRange): void;
24
+ protected get menuContentTemplate(): import("lit-html").TemplateResult<1>;
25
+ protected valueToInputValue(value: DateTimeRange | undefined): string;
26
+ protected inputValueToValue(value: string): import("@3mo/date-time/DateTimeRange.js").DateTimeRange | undefined;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ 'mo-field-date-range': FieldDateRange;
31
+ }
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=FieldDateRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldDateRange.d.ts","sourceRoot":"","sources":["../../FieldDateRange.ts"],"names":[],"mappings":"AACA,OAAO,EAA0D,SAAS,EAAE,MAAM,WAAW,CAAA;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAG9D,mBAAW,iDAAiD;IAAG,SAAS,IAAA;IAAE,OAAO,IAAA;CAAE;AAEnF,cAAM,iCAAkC,SAAQ,wBAAwB,CAAC,aAAa,CAAC;IACtF,gBAAgB,oDAA8D;IAE9E,IAAa,MAAM,kCAElB;IAED,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAclD,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa;IAKvC,OAAO,CAAC,WAAW;CAcnB;AAED,mCAAmC;AACnC,qBACa,cAAe,SAAQ,aAAa,CAAC,aAAa,GAAG,SAAS,CAAC;IAE3E,OAAO,KAAK,gBAAgB,GAAwL;IACpN,OAAO,KAAK,gBAAgB,QAM3B;IAED,SAAS,CAAC,mCAAmC,2CAAoC;IAErD,KAAK,CAAC,EAAE,aAAa,CAAA;IAEjD,UAAmB,sBAAsB,EAAE,YAAY,CAAe;cAEnD,oBAAoB,CAAC,KAAK,CAAC,EAAE,aAAa;IAO7D,cAAuB,mBAAmB,yCAEzC;IAED,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS;cAIzC,iBAAiB,CAAC,KAAK,EAAE,MAAM;CAGlD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,qBAAqB,EAAE,cAAc,CAAA;KACrC;CACD"}
@@ -0,0 +1,11 @@
1
+ import { FieldText } from '@3mo/field';
2
+ export declare class FieldTime extends FieldText {
3
+ readonly inputMode = "time";
4
+ protected get startSlotTemplate(): import("lit-html").TemplateResult<1>;
5
+ }
6
+ declare global {
7
+ interface HTMLElementTagNameMap {
8
+ 'mo-field-time': FieldTime;
9
+ }
10
+ }
11
+ //# sourceMappingURL=FieldTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldTime.d.ts","sourceRoot":"","sources":["../../FieldTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,qBACa,SAAU,SAAQ,SAAS;IACvC,SAAkB,SAAS,UAAS;IAEpC,cAAuB,iBAAiB,yCAEvC;CACD;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,eAAe,EAAE,SAAS,CAAA;KAC1B;CACD"}
@@ -0,0 +1,30 @@
1
+ import { Component } from '@a11d/lit';
2
+ import '@a11d/array.prototype.group';
3
+ export declare class Calendar extends Component {
4
+ private static readonly startingYearDate;
5
+ includeWeekNumbers: boolean;
6
+ protected navigatingDate: import("@3mo/date-time/DateTime.js").DateTime;
7
+ private yearSelection;
8
+ private readonly selectedYearElement;
9
+ private readonly today;
10
+ private readonly years;
11
+ static get styles(): import("@a11d/lit").CSSResult;
12
+ protected get template(): import("lit-html").TemplateResult<1>;
13
+ private get daySelectionTemplate();
14
+ protected getDayTemplate(day: DateTime): import("lit-html").TemplateResult<1>;
15
+ protected getDefaultDayElementClasses(day: DateTime): {
16
+ day: boolean;
17
+ today: boolean;
18
+ isInMonth: boolean;
19
+ };
20
+ private get yearSelectionTemplate();
21
+ private selectYear;
22
+ private toggleYearSelection;
23
+ private rangeOf;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ 'mo-calendar': Calendar;
28
+ }
29
+ }
30
+ //# sourceMappingURL=Calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../calendar/Calendar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0E,MAAM,WAAW,CAAA;AAE7G,OAAO,6BAA6B,CAAA;AAEpC,qBACa,QAAS,SAAQ,SAAS;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA2B;IAEvB,kBAAkB,UAAQ;IAE7D,SAAS,CAAC,cAAc,gDAAiB;IACzC,OAAO,CAAC,aAAa,CAAQ;IAEb,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAEpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuE;IAC7F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuF;IAE7G,WAAoB,MAAM,kCAEzB;IAED,cAAuB,QAAQ,yCAE9B;IAED,OAAO,KAAK,oBAAoB,GAO/B;IAED,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ;IAItC,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,QAAQ;;;;;IAWnD,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,OAAO;CAKf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,aAAa,EAAE,QAAQ,CAAA;KACvB;CACD"}
@@ -0,0 +1,11 @@
1
+ import { ClassInfo, HTMLTemplateResult } from '@a11d/lit';
2
+ import { SelectableCalendar } from './SelectableCalendar.js';
3
+ export declare abstract class CalendarSelectionAdapter<T> {
4
+ protected readonly calendar: SelectableCalendar<T>;
5
+ constructor(calendar: SelectableCalendar<T>);
6
+ get styles(): import("@a11d/lit").CSSResult;
7
+ abstract getDayTemplate(day: DateTime, classInfo: ClassInfo): HTMLTemplateResult;
8
+ abstract getNavigatingDate(value: T | undefined): DateTime;
9
+ protected select(value: T): void;
10
+ }
11
+ //# sourceMappingURL=CalendarSelectionAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarSelectionAdapter.d.ts","sourceRoot":"","sources":["../../../calendar/CalendarSelectionAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,8BAAsB,wBAAwB,CAAC,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;gBAA/B,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE9D,IAAI,MAAM,kCAAmB;IAE7B,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAEhF,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,QAAQ;IAE1D,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;CAIzB"}
@@ -0,0 +1,16 @@
1
+ import { CalendarSelectionAdapter, Calendar } from './index.js';
2
+ /** @fires change {CustomEvent<T>} */
3
+ export declare class SelectableCalendar<T> extends Calendar {
4
+ readonly change: EventDispatcher<T>;
5
+ selectionAdapterConstructor: Constructor<CalendarSelectionAdapter<T>>;
6
+ value?: T;
7
+ private _selectionAdapter?;
8
+ get selectionAdapter(): CalendarSelectionAdapter<T>;
9
+ protected getDayTemplate(day: DateTime): import("lit-html").HTMLTemplateResult;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ 'mo-selectable-calendar': SelectableCalendar<unknown>;
14
+ }
15
+ }
16
+ //# sourceMappingURL=SelectableCalendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectableCalendar.d.ts","sourceRoot":"","sources":["../../../calendar/SelectableCalendar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE/D,qCAAqC;AACrC,qBACa,kBAAkB,CAAC,CAAC,CAAE,SAAQ,QAAQ;IACzC,QAAQ,CAAC,MAAM,EAAG,eAAe,CAAC,CAAC,CAAC,CAAA;IAEjB,2BAA2B,EAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAA;IAK/F,KAAK,CAAC,EAAE,CAAC,CAAA;IAEZ,OAAO,CAAC,iBAAiB,CAAC,CAA6B;IACvD,IAAI,gBAAgB,gCAOnB;cAEkB,cAAc,CAAC,GAAG,EAAE,QAAQ;CAG/C;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,wBAAwB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;KACrD;CACD"}
@@ -0,0 +1,4 @@
1
+ export * from './CalendarSelectionAdapter.js';
2
+ export * from './Calendar.js';
3
+ export * from './SelectableCalendar.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../calendar/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,eAAe,CAAA;AAC7B,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,11 @@
1
+ import '@3mo/date-time';
2
+ import '@3mo/icon';
3
+ import '@3mo/icon-button';
4
+ import '@3mo/popover';
5
+ import '@3mo/flex';
6
+ import '@3mo/field';
7
+ export * from './FieldTime.js';
8
+ export * from './calendar/index.js';
9
+ export * from './FieldDate.js';
10
+ export * from './FieldDateRange.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,kBAAkB,CAAA;AACzB,OAAO,cAAc,CAAA;AACrB,OAAO,WAAW,CAAA;AAClB,OAAO,YAAY,CAAA;AACnB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { Component } from '@a11d/lit';
2
+ import { SlotController } from '@3mo/slot-controller';
3
+ import { FocusController } from '@3mo/focus-controller';
4
+ import { ThemeController } from '@3mo/theme';
5
+ /**
6
+ * @element mo-field
7
+ *
8
+ * @attr label
9
+ * @attr readonly
10
+ * @attr disabled
11
+ * @attr required
12
+ * @attr dense
13
+ * @attr populated
14
+ * @attr invalid
15
+ *
16
+ * @slot - The field's content
17
+ * @slot start - Content to be placed at the start of the field
18
+ * @slot end - Content to be placed at the end of the field
19
+ */
20
+ export declare class Field extends Component {
21
+ label: string;
22
+ readonly: boolean;
23
+ disabled: boolean;
24
+ required: boolean;
25
+ dense: boolean;
26
+ populated: boolean;
27
+ invalid: boolean;
28
+ protected active: boolean;
29
+ readonly slotController: SlotController;
30
+ readonly themeController: ThemeController;
31
+ readonly focusController: FocusController;
32
+ static get styles(): import("@a11d/lit").CSSResult;
33
+ protected static get labelStyles(): import("@a11d/lit").CSSResult;
34
+ protected static get indicatorLineStyles(): import("@a11d/lit").CSSResult;
35
+ protected static get caretStyles(): import("@a11d/lit").CSSResult;
36
+ protected get template(): import("lit-html").TemplateResult<1>;
37
+ }
38
+ //# sourceMappingURL=Field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../Field/Field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAsB,MAAM,WAAW,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAK5C;;;;;;;;;;;;;;GAcG;AACH,qBACa,KAAM,SAAQ,SAAS;IACN,KAAK,SAAK;IACK,QAAQ,UAAQ;IAChB,QAAQ,UAAQ;IAChB,QAAQ,UAAQ;IAChB,KAAK,UAAQ;IACb,SAAS,UAAQ;IACjB,OAAO,UAAQ;IACf,SAAS,CAAC,MAAM,UAAQ;IAEpE,QAAQ,CAAC,cAAc,iBAA2B;IAClD,QAAQ,CAAC,eAAe,kBAA4B;IACpD,QAAQ,CAAC,eAAe,kBAEtB;IAEF,WAAoB,MAAM,kCAEzB;IAED,SAAS,CAAC,MAAM,KAAK,WAAW,kCAE/B;IAED,SAAS,CAAC,MAAM,KAAK,mBAAmB,kCAEvC;IAED,SAAS,CAAC,MAAM,KAAK,WAAW,kCAE/B;IAED,cAAuB,QAAQ,yCAG9B;CACD"}