@api-client/ui 0.5.6 → 0.5.7

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 (58) hide show
  1. package/.cursor/rules/html-and-css-best-practices.mdc +63 -0
  2. package/.cursor/rules/lit-best-practices.mdc +78 -0
  3. package/.github/instructions/html-and-css-best-practices.instructions.md +70 -0
  4. package/.github/instructions/lit-best-practices.instructions.md +86 -0
  5. package/build/src/elements/currency/currency-picker.d.ts +10 -0
  6. package/build/src/elements/currency/currency-picker.d.ts.map +1 -0
  7. package/build/src/elements/currency/currency-picker.js +27 -0
  8. package/build/src/elements/currency/currency-picker.js.map +1 -0
  9. package/build/src/elements/currency/internals/Picker.d.ts +311 -0
  10. package/build/src/elements/currency/internals/Picker.d.ts.map +1 -0
  11. package/build/src/elements/currency/internals/Picker.js +857 -0
  12. package/build/src/elements/currency/internals/Picker.js.map +1 -0
  13. package/build/src/elements/currency/internals/Picker.styles.d.ts +3 -0
  14. package/build/src/elements/currency/internals/Picker.styles.d.ts.map +1 -0
  15. package/build/src/elements/currency/internals/Picker.styles.js +58 -0
  16. package/build/src/elements/currency/internals/Picker.styles.js.map +1 -0
  17. package/build/src/md/button/internals/base.d.ts +1 -0
  18. package/build/src/md/button/internals/base.d.ts.map +1 -1
  19. package/build/src/md/button/internals/base.js +7 -0
  20. package/build/src/md/button/internals/base.js.map +1 -1
  21. package/build/src/md/date-picker/internals/DatePicker.styles.d.ts.map +1 -1
  22. package/build/src/md/date-picker/internals/DatePicker.styles.js +73 -0
  23. package/build/src/md/date-picker/internals/DatePicker.styles.js.map +1 -1
  24. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts +164 -51
  25. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts.map +1 -1
  26. package/build/src/md/date-picker/internals/DatePickerCalendar.js +660 -368
  27. package/build/src/md/date-picker/internals/DatePickerCalendar.js.map +1 -1
  28. package/build/src/md/date-picker/ui-date-picker-input.d.ts +65 -13
  29. package/build/src/md/date-picker/ui-date-picker-input.d.ts.map +1 -1
  30. package/build/src/md/date-picker/ui-date-picker-input.js +143 -76
  31. package/build/src/md/date-picker/ui-date-picker-input.js.map +1 -1
  32. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts +76 -17
  33. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts.map +1 -1
  34. package/build/src/md/date-picker/ui-date-picker-modal-input.js +192 -127
  35. package/build/src/md/date-picker/ui-date-picker-modal-input.js.map +1 -1
  36. package/build/src/md/date-picker/ui-date-picker-modal.d.ts +63 -15
  37. package/build/src/md/date-picker/ui-date-picker-modal.d.ts.map +1 -1
  38. package/build/src/md/date-picker/ui-date-picker-modal.js +143 -64
  39. package/build/src/md/date-picker/ui-date-picker-modal.js.map +1 -1
  40. package/demo/elements/currency/index.html +91 -0
  41. package/demo/elements/currency/index.ts +272 -0
  42. package/demo/elements/index.html +3 -0
  43. package/demo/md/date-picker/date-picker.ts +138 -103
  44. package/package.json +1 -1
  45. package/src/elements/currency/currency-picker.ts +14 -0
  46. package/src/elements/currency/internals/Picker.styles.ts +58 -0
  47. package/src/elements/currency/internals/Picker.ts +846 -0
  48. package/src/md/button/internals/base.ts +7 -0
  49. package/src/md/date-picker/internals/DatePicker.styles.ts +73 -0
  50. package/src/md/date-picker/internals/DatePickerCalendar.ts +643 -309
  51. package/src/md/date-picker/ui-date-picker-input.ts +110 -49
  52. package/src/md/date-picker/ui-date-picker-modal-input.ts +168 -99
  53. package/src/md/date-picker/ui-date-picker-modal.ts +136 -53
  54. package/test/README.md +3 -2
  55. package/test/elements/currency/CurrencyPicker.accessibility.test.ts +328 -0
  56. package/test/elements/currency/CurrencyPicker.core.test.ts +318 -0
  57. package/test/elements/currency/CurrencyPicker.integration.test.ts +482 -0
  58. package/test/elements/currency/CurrencyPicker.test.ts +486 -0
@@ -3,10 +3,18 @@ import { DateRange } from './DatePickerUtils.js';
3
3
  import '../../../md/icons/ui-icon.js';
4
4
  import '../../../md/button/ui-button.js';
5
5
  import '../../../md/icon-button/ui-icon-button.js';
6
+ /**
7
+ * Event dispatched when a single date is selected in immediate mode
8
+ * or confirmed in pending mode.
9
+ */
6
10
  export interface DateSelectEvent {
7
11
  date: Date;
8
12
  formattedDate: string;
9
13
  }
14
+ /**
15
+ * Event dispatched when a date range is completed in immediate mode.
16
+ * Only fired when both start and end dates are selected.
17
+ */
10
18
  export interface DateRangeSelectEvent {
11
19
  range: DateRange;
12
20
  formattedRange: {
@@ -14,6 +22,10 @@ export interface DateRangeSelectEvent {
14
22
  end: string | null;
15
23
  };
16
24
  }
25
+ /**
26
+ * Event dispatched when a date range selection is confirmed
27
+ * via the OK button in pending mode.
28
+ */
17
29
  export interface DateRangeConfirmEvent {
18
30
  range: DateRange | null;
19
31
  formattedRange: {
@@ -21,12 +33,30 @@ export interface DateRangeConfirmEvent {
21
33
  end: string | null;
22
34
  };
23
35
  }
36
+ /**
37
+ * Event dispatched when user cancels a pending selection
38
+ * via the Cancel button or Escape key.
39
+ */
24
40
  export interface DateCancelEvent {
25
41
  reason?: string;
26
42
  }
27
43
  /**
28
44
  * A calendar grid component for date selection.
29
- * Supports single date selection and date range selection.
45
+ * Supports single date selection and date range selection with full keyboard navigation.
46
+ *
47
+ * ## Features
48
+ * - Single date and date range selection
49
+ * - Keyboard navigation support (arrow keys, home, end, page up/down)
50
+ * - Configurable date restrictions (min/max dates, disabled dates)
51
+ * - Localization support for date formatting and month/day names
52
+ * - Optional action buttons for pending selections
53
+ * - Accessible design with proper ARIA attributes
54
+ *
55
+ * ## Events
56
+ * - `date-select`: Fired when a single date is selected/confirmed
57
+ * - `date-range-select`: Fired when a date range is completed (immediate mode)
58
+ * - `date-range-confirm`: Fired when a date range is confirmed (pending mode)
59
+ * - `date-cancel`: Fired when a pending selection is cancelled
30
60
  *
31
61
  * ## Usage
32
62
  *
@@ -45,11 +75,24 @@ export interface DateCancelEvent {
45
75
  * ### Date range selection
46
76
  * ```html
47
77
  * <ui-date-picker-calendar
48
- * .rangeSelection=${true}
49
- * .selectedRange=${{ start: new Date(), end: null }}
78
+ * rangeSelection
79
+ * .rangeStart=${new Date()}
80
+ * .rangeEnd=${null}
50
81
  * @date-range-select=${this.handleRangeSelect}
51
82
  * ></ui-date-picker-calendar>
52
83
  * ```
84
+ *
85
+ * ### With action buttons and restrictions
86
+ * ```html
87
+ * <ui-date-picker-calendar
88
+ * rangeSelection
89
+ * showActions
90
+ * .minDate=${new Date()}
91
+ * .maxDate=${new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)}
92
+ * @date-range-confirm=${this.handleRangeConfirm}
93
+ * @date-cancel=${this.handleCancel}
94
+ * ></ui-date-picker-calendar>
95
+ * ```
53
96
  */
54
97
  export declare class UiDatePickerCalendar extends LitElement {
55
98
  static styles: import("lit").CSSResult;
@@ -58,91 +101,161 @@ export declare class UiDatePickerCalendar extends LitElement {
58
101
  */
59
102
  accessor year: number;
60
103
  /**
61
- * The currently displayed month (0-indexed)
104
+ * The currently displayed month (0-indexed, where 0 = January)
62
105
  */
63
106
  accessor month: number;
64
107
  /**
65
- * The currently selected date for single selection mode
108
+ * The currently selected date for single selection mode.
109
+ * Set to null for no selection.
66
110
  */
67
111
  accessor selectedDate: Date | null;
68
112
  /**
69
- * The selected date range for range selection mode
113
+ * The start date of the selected range for range selection mode.
114
+ * Used in combination with rangeEnd to define a date range.
115
+ */
116
+ accessor rangeStart: Date | null;
117
+ /**
118
+ * The end date of the selected range for range selection mode.
119
+ * Used in combination with rangeStart to define a date range.
70
120
  */
71
- accessor selectedRange: DateRange | null;
121
+ accessor rangeEnd: Date | null;
72
122
  /**
73
- * Enable range selection mode
123
+ * Enable range selection mode. When true, users can select date ranges
124
+ * instead of single dates. Affects event dispatching and UI behavior.
74
125
  */
75
126
  accessor rangeSelection: boolean;
76
127
  /**
77
- * Minimum selectable date
128
+ * Minimum selectable date. Dates before this will be disabled.
129
+ * Set to undefined for no minimum restriction.
78
130
  */
79
131
  accessor minDate: Date | undefined;
80
132
  /**
81
- * Maximum selectable date
133
+ * Maximum selectable date. Dates after this will be disabled.
134
+ * Set to undefined for no maximum restriction.
82
135
  */
83
136
  accessor maxDate: Date | undefined;
84
137
  /**
85
- * Array of disabled dates
138
+ * Array of specific dates to disable. These dates will not be selectable
139
+ * regardless of minDate and maxDate settings.
86
140
  */
87
141
  accessor disabledDates: Date[] | undefined;
88
142
  /**
89
- * Locale for date formatting and month/day names
143
+ * Locale for date formatting and month/day names (e.g., 'en-US', 'fr-FR').
144
+ * Defaults to browser locale if not specified.
90
145
  */
91
146
  accessor locale: string | undefined;
92
147
  /**
93
- * Whether to show navigation controls
148
+ * Whether to show navigation controls (previous/next month and year buttons).
149
+ * When false, users can only navigate using keyboard or programmatically.
94
150
  */
95
151
  accessor showNavigation: boolean;
96
152
  /**
97
- * Whether to show action buttons (OK/Cancel)
153
+ * Whether to show action buttons (OK/Cancel). When true, selections are pending
154
+ * until confirmed with the OK button. When false, selections are immediate.
98
155
  */
99
156
  accessor showActions: boolean;
100
157
  /**
101
- * Text for the OK button
158
+ * Text label for the OK/confirm button. Only visible when showActions is true.
102
159
  */
103
160
  accessor okButtonText: string;
104
161
  /**
105
- * Text for the Cancel button
162
+ * Text label for the Cancel button. Only visible when showActions is true.
106
163
  */
107
164
  accessor cancelButtonText: string;
108
- private accessor _calendarData;
109
- private accessor _rangeStart;
110
- private accessor _monthNames;
111
- private accessor _showMonthDropdown;
112
- private accessor _showYearDropdown;
113
- private accessor _pendingDate;
114
- private accessor _pendingRange;
165
+ private accessor calendarData;
166
+ private accessor monthNames;
167
+ private accessor showMonthDropdown;
168
+ private accessor showYearDropdown;
169
+ private accessor pendingDate;
170
+ private accessor pendingRangeStart;
171
+ private accessor pendingRangeEnd;
172
+ private accessor focusedDate;
115
173
  connectedCallback(): void;
174
+ firstUpdated(): void;
116
175
  disconnectedCallback(): void;
117
- updated(changedProperties: Map<string | number | symbol, unknown>): void;
118
- private _scrollSelectedYearIntoView;
119
176
  willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
120
- private _updateCalendar;
121
- private _updateMonthNames;
122
- private _navigateMonth;
123
- private _handlePrevMonth;
124
- private _handleNextMonth;
125
- private _handlePrevYear;
126
- private _handleNextYear;
127
- private _handleMonthClick;
128
- private _handleYearClick;
129
- private _handleMonthSelect;
130
- private _handleYearSelect;
131
- private _closeDropdowns;
132
- private _handleDocumentKeyDown;
133
- private _handleDayClick;
134
- private _handleSingleSelection;
135
- private _handleRangeSelection;
136
- private _isDateDisabled;
137
- private _handleConfirm;
138
- private _handleCancel;
139
- private _renderNavigation;
140
- private _renderWeekdays;
141
- private _renderDay;
142
- private _renderDays;
143
- private _renderActions;
144
- private _renderMonthDropdown;
145
- private _renderYearDropdown;
177
+ updated(changedProperties: Map<string | number | symbol, unknown>): void;
178
+ private updateFocus;
179
+ private scrollSelectedYearIntoView;
180
+ private updateFocusedDateForMonthChange;
181
+ private updateCalendar;
182
+ private updateMonthNames;
183
+ private navigateMonth;
184
+ private handlePrevMonth;
185
+ private handleNextMonth;
186
+ private handlePrevYear;
187
+ private handleNextYear;
188
+ private handleMonthClick;
189
+ private handleYearClick;
190
+ private handleMonthSelect;
191
+ private handleYearSelect;
192
+ private closeDropdowns;
193
+ private navigateDate;
194
+ private findNextAvailableDate;
195
+ private focusFirstDayOfMonth;
196
+ private focusLastDayOfMonth;
197
+ private selectFocusedDate;
198
+ private handleDayClick;
199
+ private handleSingleSelection;
200
+ private handleRangeSelection;
201
+ /**
202
+ * Helper to get the current range state (either immediate or pending)
203
+ */
204
+ private getCurrentRange;
205
+ /**
206
+ * Helper to check if we have a complete range in the current mode
207
+ */
208
+ private hasCompleteRange;
209
+ private setRangeValues;
210
+ /**
211
+ * Helper to dispatch date selection events
212
+ */
213
+ private dispatchDateEvent;
214
+ /**
215
+ * Helper to dispatch range selection events
216
+ */
217
+ private dispatchRangeEvent;
218
+ /**
219
+ * Helper to dispatch range confirmation events
220
+ */
221
+ private dispatchRangeConfirmEvent;
222
+ /**
223
+ * Helper to dispatch cancel events
224
+ */
225
+ private dispatchCancelEvent;
226
+ private isDateDisabled;
227
+ private handleConfirm;
228
+ private handleCancel;
229
+ /**
230
+ * Helper to render navigation buttons
231
+ */
232
+ private renderNavButton;
233
+ private renderNavigation;
234
+ private renderWeekdays;
235
+ /**
236
+ * Helper to determine day selection state for rendering
237
+ */
238
+ private getDaySelectionState;
239
+ /**
240
+ * Helper to determine button color for a day
241
+ */
242
+ private getDayButtonColor;
243
+ private renderDay;
244
+ private renderDays;
245
+ private renderActions;
246
+ /**
247
+ * Helper to render dropdown option buttons
248
+ */
249
+ private renderDropdownOption;
250
+ private renderMonthDropdown;
251
+ private renderYearDropdown;
252
+ private findFirstAvailableDate;
253
+ private handleKeyDown;
254
+ /**
255
+ * Helper to check if a date is in the current month and not disabled
256
+ */
257
+ private isDateAvailable;
258
+ private initializeFocusedDate;
146
259
  render(): TemplateResult;
147
260
  }
148
261
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/md/date-picker/internals/DatePickerCalendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerCalendar.d.ts","sourceRoot":"","sources":["../../../../../src/md/date-picker/internals/DatePickerCalendar.ts"],"names":[],"mappings":"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"}