@api-client/ui 0.5.5 → 0.5.6

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 (82) hide show
  1. package/build/src/elements/highlight/MarkdownStyles.d.ts.map +1 -1
  2. package/build/src/elements/highlight/MarkdownStyles.js +0 -13
  3. package/build/src/elements/highlight/MarkdownStyles.js.map +1 -1
  4. package/build/src/elements/http/BodyEditor.d.ts +0 -13
  5. package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
  6. package/build/src/elements/http/BodyEditor.js +0 -13
  7. package/build/src/elements/http/BodyEditor.js.map +1 -1
  8. package/build/src/elements/http/BodyTextEditor.d.ts +0 -13
  9. package/build/src/elements/http/BodyTextEditor.d.ts.map +1 -1
  10. package/build/src/elements/http/BodyTextEditor.js +0 -13
  11. package/build/src/elements/http/BodyTextEditor.js.map +1 -1
  12. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +0 -13
  13. package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
  14. package/build/src/elements/http/BodyUrlEncodedEditor.js +0 -13
  15. package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
  16. package/build/src/elements/http/UrlInput.d.ts +0 -13
  17. package/build/src/elements/http/UrlInput.d.ts.map +1 -1
  18. package/build/src/elements/http/UrlInput.js +0 -13
  19. package/build/src/elements/http/UrlInput.js.map +1 -1
  20. package/build/src/index.d.ts +2 -0
  21. package/build/src/index.d.ts.map +1 -1
  22. package/build/src/index.js +2 -0
  23. package/build/src/index.js.map +1 -1
  24. package/build/src/md/button/internals/button.styles.js +1 -1
  25. package/build/src/md/button/internals/button.styles.js.map +1 -1
  26. package/build/src/md/date/internals/DateTime.d.ts +0 -13
  27. package/build/src/md/date/internals/DateTime.d.ts.map +1 -1
  28. package/build/src/md/date/internals/DateTime.js +0 -13
  29. package/build/src/md/date/internals/DateTime.js.map +1 -1
  30. package/build/src/md/date-picker/index.d.ts +13 -0
  31. package/build/src/md/date-picker/index.d.ts.map +1 -0
  32. package/build/src/md/date-picker/index.js +13 -0
  33. package/build/src/md/date-picker/index.js.map +1 -0
  34. package/build/src/md/date-picker/internals/DatePicker.styles.d.ts +4 -0
  35. package/build/src/md/date-picker/internals/DatePicker.styles.d.ts.map +1 -0
  36. package/build/src/md/date-picker/internals/DatePicker.styles.js +336 -0
  37. package/build/src/md/date-picker/internals/DatePicker.styles.js.map +1 -0
  38. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts +159 -0
  39. package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts.map +1 -0
  40. package/build/src/md/date-picker/internals/DatePickerCalendar.js +770 -0
  41. package/build/src/md/date-picker/internals/DatePickerCalendar.js.map +1 -0
  42. package/build/src/md/date-picker/internals/DatePickerUtils.d.ts +93 -0
  43. package/build/src/md/date-picker/internals/DatePickerUtils.d.ts.map +1 -0
  44. package/build/src/md/date-picker/internals/DatePickerUtils.js +221 -0
  45. package/build/src/md/date-picker/internals/DatePickerUtils.js.map +1 -0
  46. package/build/src/md/date-picker/ui-date-picker-input.d.ts +108 -0
  47. package/build/src/md/date-picker/ui-date-picker-input.d.ts.map +1 -0
  48. package/build/src/md/date-picker/ui-date-picker-input.js +397 -0
  49. package/build/src/md/date-picker/ui-date-picker-input.js.map +1 -0
  50. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts +119 -0
  51. package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts.map +1 -0
  52. package/build/src/md/date-picker/ui-date-picker-modal-input.js +473 -0
  53. package/build/src/md/date-picker/ui-date-picker-modal-input.js.map +1 -0
  54. package/build/src/md/date-picker/ui-date-picker-modal.d.ts +108 -0
  55. package/build/src/md/date-picker/ui-date-picker-modal.d.ts.map +1 -0
  56. package/build/src/md/date-picker/ui-date-picker-modal.js +344 -0
  57. package/build/src/md/date-picker/ui-date-picker-modal.js.map +1 -0
  58. package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
  59. package/build/src/md/dialog/internals/Dialog.styles.js +1 -0
  60. package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
  61. package/demo/elements/har/har2.json +1 -1
  62. package/demo/md/date-picker/date-picker.ts +301 -0
  63. package/demo/md/date-picker/index.html +171 -0
  64. package/demo/md/index.html +2 -0
  65. package/package.json +1 -1
  66. package/src/elements/highlight/MarkdownStyles.ts +0 -13
  67. package/src/elements/http/BodyEditor.ts +0 -13
  68. package/src/elements/http/BodyTextEditor.ts +0 -13
  69. package/src/elements/http/BodyUrlEncodedEditor.ts +0 -13
  70. package/src/elements/http/UrlInput.ts +0 -13
  71. package/src/index.ts +17 -0
  72. package/src/md/button/internals/button.styles.ts +1 -1
  73. package/src/md/date/internals/DateTime.ts +0 -14
  74. package/src/md/date-picker/README.md +184 -0
  75. package/src/md/date-picker/index.ts +17 -0
  76. package/src/md/date-picker/internals/DatePicker.styles.ts +338 -0
  77. package/src/md/date-picker/internals/DatePickerCalendar.ts +697 -0
  78. package/src/md/date-picker/internals/DatePickerUtils.ts +288 -0
  79. package/src/md/date-picker/ui-date-picker-input.ts +272 -0
  80. package/src/md/date-picker/ui-date-picker-modal-input.ts +371 -0
  81. package/src/md/date-picker/ui-date-picker-modal.ts +263 -0
  82. package/src/md/dialog/internals/Dialog.styles.ts +1 -0
@@ -0,0 +1,344 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
+ import { modalStyles } from './internals/DatePicker.styles.js';
5
+ import { formatDate } from './internals/DatePickerUtils.js';
6
+ import './internals/DatePickerCalendar.js';
7
+ import '../../md/dialog/ui-dialog.js';
8
+ import '../../md/button/ui-button.js';
9
+ import '../../md/icon-button/ui-icon-button.js';
10
+ import '../../md/icons/ui-icon.js';
11
+ /**
12
+ * A modal date picker for selecting date ranges.
13
+ * Extends full-screen and is ideal for date range selection like flight bookings.
14
+ *
15
+ * ## Usage
16
+ *
17
+ * ```html
18
+ * <ui-date-picker-modal
19
+ * .open=${true}
20
+ * .selectedRange=${{ start: new Date(), end: null }}
21
+ * @change=${this.handleRangeChange}
22
+ * @close=${this.handleClose}
23
+ * ></ui-date-picker-modal>
24
+ * ```
25
+ *
26
+ * ### Custom labels
27
+ * ```html
28
+ * <ui-date-picker-modal
29
+ * title="Select travel dates"
30
+ * startLabel="Check-in"
31
+ * endLabel="Check-out"
32
+ * ></ui-date-picker-modal>
33
+ * ```
34
+ */
35
+ let UiDatePickerModal = (() => {
36
+ let _classDecorators = [customElement('ui-date-picker-modal')];
37
+ let _classDescriptor;
38
+ let _classExtraInitializers = [];
39
+ let _classThis;
40
+ let _classSuper = LitElement;
41
+ let _open_decorators;
42
+ let _open_initializers = [];
43
+ let _open_extraInitializers = [];
44
+ let _title_decorators;
45
+ let _title_initializers = [];
46
+ let _title_extraInitializers = [];
47
+ let _startLabel_decorators;
48
+ let _startLabel_initializers = [];
49
+ let _startLabel_extraInitializers = [];
50
+ let _endLabel_decorators;
51
+ let _endLabel_initializers = [];
52
+ let _endLabel_extraInitializers = [];
53
+ let _selectedRange_decorators;
54
+ let _selectedRange_initializers = [];
55
+ let _selectedRange_extraInitializers = [];
56
+ let _minDate_decorators;
57
+ let _minDate_initializers = [];
58
+ let _minDate_extraInitializers = [];
59
+ let _maxDate_decorators;
60
+ let _maxDate_initializers = [];
61
+ let _maxDate_extraInitializers = [];
62
+ let _disabledDates_decorators;
63
+ let _disabledDates_initializers = [];
64
+ let _disabledDates_extraInitializers = [];
65
+ let _locale_decorators;
66
+ let _locale_initializers = [];
67
+ let _locale_extraInitializers = [];
68
+ let _showModeToggle_decorators;
69
+ let _showModeToggle_initializers = [];
70
+ let _showModeToggle_extraInitializers = [];
71
+ let __isInputMode_decorators;
72
+ let __isInputMode_initializers = [];
73
+ let __isInputMode_extraInitializers = [];
74
+ var UiDatePickerModal = class extends _classSuper {
75
+ static { _classThis = this; }
76
+ static {
77
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
78
+ _open_decorators = [property({ type: Boolean })];
79
+ _title_decorators = [property({ type: String })];
80
+ _startLabel_decorators = [property({ type: String })];
81
+ _endLabel_decorators = [property({ type: String })];
82
+ _selectedRange_decorators = [property({ type: Object })];
83
+ _minDate_decorators = [property({ type: Object })];
84
+ _maxDate_decorators = [property({ type: Object })];
85
+ _disabledDates_decorators = [property({ type: Array })];
86
+ _locale_decorators = [property({ type: String })];
87
+ _showModeToggle_decorators = [property({ type: Boolean })];
88
+ __isInputMode_decorators = [state()];
89
+ __esDecorate(this, null, _open_decorators, { kind: "accessor", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);
90
+ __esDecorate(this, null, _title_decorators, { kind: "accessor", name: "title", static: false, private: false, access: { has: obj => "title" in obj, get: obj => obj.title, set: (obj, value) => { obj.title = value; } }, metadata: _metadata }, _title_initializers, _title_extraInitializers);
91
+ __esDecorate(this, null, _startLabel_decorators, { kind: "accessor", name: "startLabel", static: false, private: false, access: { has: obj => "startLabel" in obj, get: obj => obj.startLabel, set: (obj, value) => { obj.startLabel = value; } }, metadata: _metadata }, _startLabel_initializers, _startLabel_extraInitializers);
92
+ __esDecorate(this, null, _endLabel_decorators, { kind: "accessor", name: "endLabel", static: false, private: false, access: { has: obj => "endLabel" in obj, get: obj => obj.endLabel, set: (obj, value) => { obj.endLabel = value; } }, metadata: _metadata }, _endLabel_initializers, _endLabel_extraInitializers);
93
+ __esDecorate(this, null, _selectedRange_decorators, { kind: "accessor", name: "selectedRange", static: false, private: false, access: { has: obj => "selectedRange" in obj, get: obj => obj.selectedRange, set: (obj, value) => { obj.selectedRange = value; } }, metadata: _metadata }, _selectedRange_initializers, _selectedRange_extraInitializers);
94
+ __esDecorate(this, null, _minDate_decorators, { kind: "accessor", name: "minDate", static: false, private: false, access: { has: obj => "minDate" in obj, get: obj => obj.minDate, set: (obj, value) => { obj.minDate = value; } }, metadata: _metadata }, _minDate_initializers, _minDate_extraInitializers);
95
+ __esDecorate(this, null, _maxDate_decorators, { kind: "accessor", name: "maxDate", static: false, private: false, access: { has: obj => "maxDate" in obj, get: obj => obj.maxDate, set: (obj, value) => { obj.maxDate = value; } }, metadata: _metadata }, _maxDate_initializers, _maxDate_extraInitializers);
96
+ __esDecorate(this, null, _disabledDates_decorators, { kind: "accessor", name: "disabledDates", static: false, private: false, access: { has: obj => "disabledDates" in obj, get: obj => obj.disabledDates, set: (obj, value) => { obj.disabledDates = value; } }, metadata: _metadata }, _disabledDates_initializers, _disabledDates_extraInitializers);
97
+ __esDecorate(this, null, _locale_decorators, { kind: "accessor", name: "locale", static: false, private: false, access: { has: obj => "locale" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);
98
+ __esDecorate(this, null, _showModeToggle_decorators, { kind: "accessor", name: "showModeToggle", static: false, private: false, access: { has: obj => "showModeToggle" in obj, get: obj => obj.showModeToggle, set: (obj, value) => { obj.showModeToggle = value; } }, metadata: _metadata }, _showModeToggle_initializers, _showModeToggle_extraInitializers);
99
+ __esDecorate(this, null, __isInputMode_decorators, { kind: "accessor", name: "_isInputMode", static: false, private: false, access: { has: obj => "_isInputMode" in obj, get: obj => obj._isInputMode, set: (obj, value) => { obj._isInputMode = value; } }, metadata: _metadata }, __isInputMode_initializers, __isInputMode_extraInitializers);
100
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
101
+ UiDatePickerModal = _classThis = _classDescriptor.value;
102
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
103
+ }
104
+ static styles = modalStyles;
105
+ #open_accessor_storage = __runInitializers(this, _open_initializers, false
106
+ /**
107
+ * The modal title
108
+ */
109
+ );
110
+ /**
111
+ * Whether the modal is open
112
+ */
113
+ get open() { return this.#open_accessor_storage; }
114
+ set open(value) { this.#open_accessor_storage = value; }
115
+ #title_accessor_storage = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _title_initializers, 'Select dates'
116
+ /**
117
+ * Label for the start date
118
+ */
119
+ ));
120
+ /**
121
+ * The modal title
122
+ */
123
+ get title() { return this.#title_accessor_storage; }
124
+ set title(value) { this.#title_accessor_storage = value; }
125
+ #startLabel_accessor_storage = (__runInitializers(this, _title_extraInitializers), __runInitializers(this, _startLabel_initializers, 'Start date'
126
+ /**
127
+ * Label for the end date
128
+ */
129
+ ));
130
+ /**
131
+ * Label for the start date
132
+ */
133
+ get startLabel() { return this.#startLabel_accessor_storage; }
134
+ set startLabel(value) { this.#startLabel_accessor_storage = value; }
135
+ #endLabel_accessor_storage = (__runInitializers(this, _startLabel_extraInitializers), __runInitializers(this, _endLabel_initializers, 'End date'
136
+ /**
137
+ * The selected date range
138
+ */
139
+ ));
140
+ /**
141
+ * Label for the end date
142
+ */
143
+ get endLabel() { return this.#endLabel_accessor_storage; }
144
+ set endLabel(value) { this.#endLabel_accessor_storage = value; }
145
+ #selectedRange_accessor_storage = (__runInitializers(this, _endLabel_extraInitializers), __runInitializers(this, _selectedRange_initializers, null
146
+ /**
147
+ * Minimum selectable date
148
+ */
149
+ ));
150
+ /**
151
+ * The selected date range
152
+ */
153
+ get selectedRange() { return this.#selectedRange_accessor_storage; }
154
+ set selectedRange(value) { this.#selectedRange_accessor_storage = value; }
155
+ #minDate_accessor_storage = (__runInitializers(this, _selectedRange_extraInitializers), __runInitializers(this, _minDate_initializers, undefined
156
+ /**
157
+ * Maximum selectable date
158
+ */
159
+ ));
160
+ /**
161
+ * Minimum selectable date
162
+ */
163
+ get minDate() { return this.#minDate_accessor_storage; }
164
+ set minDate(value) { this.#minDate_accessor_storage = value; }
165
+ #maxDate_accessor_storage = (__runInitializers(this, _minDate_extraInitializers), __runInitializers(this, _maxDate_initializers, undefined
166
+ /**
167
+ * Array of disabled dates
168
+ */
169
+ ));
170
+ /**
171
+ * Maximum selectable date
172
+ */
173
+ get maxDate() { return this.#maxDate_accessor_storage; }
174
+ set maxDate(value) { this.#maxDate_accessor_storage = value; }
175
+ #disabledDates_accessor_storage = (__runInitializers(this, _maxDate_extraInitializers), __runInitializers(this, _disabledDates_initializers, undefined
176
+ /**
177
+ * Locale for date formatting
178
+ */
179
+ ));
180
+ /**
181
+ * Array of disabled dates
182
+ */
183
+ get disabledDates() { return this.#disabledDates_accessor_storage; }
184
+ set disabledDates(value) { this.#disabledDates_accessor_storage = value; }
185
+ #locale_accessor_storage = (__runInitializers(this, _disabledDates_extraInitializers), __runInitializers(this, _locale_initializers, undefined
186
+ /**
187
+ * Whether to show edit/calendar toggle button
188
+ */
189
+ ));
190
+ /**
191
+ * Locale for date formatting
192
+ */
193
+ get locale() { return this.#locale_accessor_storage; }
194
+ set locale(value) { this.#locale_accessor_storage = value; }
195
+ #showModeToggle_accessor_storage = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _showModeToggle_initializers, true));
196
+ /**
197
+ * Whether to show edit/calendar toggle button
198
+ */
199
+ get showModeToggle() { return this.#showModeToggle_accessor_storage; }
200
+ set showModeToggle(value) { this.#showModeToggle_accessor_storage = value; }
201
+ #_isInputMode_accessor_storage = (__runInitializers(this, _showModeToggle_extraInitializers), __runInitializers(this, __isInputMode_initializers, false));
202
+ get _isInputMode() { return this.#_isInputMode_accessor_storage; }
203
+ set _isInputMode(value) { this.#_isInputMode_accessor_storage = value; }
204
+ _handleRangeSelect(event) {
205
+ this.selectedRange = event.detail.range;
206
+ this._dispatchChangeEvent();
207
+ }
208
+ _handleCancel() {
209
+ this._dispatchCloseEvent(false);
210
+ }
211
+ _handleConfirm() {
212
+ this._dispatchCloseEvent(true);
213
+ }
214
+ _handleModeToggle() {
215
+ this._isInputMode = !this._isInputMode;
216
+ }
217
+ _dispatchChangeEvent() {
218
+ if (!this.selectedRange)
219
+ return;
220
+ const event = {
221
+ range: this.selectedRange,
222
+ formattedRange: {
223
+ start: this.selectedRange.start ? formatDate(this.selectedRange.start, this.locale) : null,
224
+ end: this.selectedRange.end ? formatDate(this.selectedRange.end, this.locale) : null,
225
+ },
226
+ };
227
+ this.dispatchEvent(new CustomEvent('date-range-change', {
228
+ detail: event,
229
+ bubbles: true,
230
+ composed: true,
231
+ }));
232
+ }
233
+ _dispatchCloseEvent(confirmed) {
234
+ this.dispatchEvent(new CustomEvent('close', {
235
+ detail: {
236
+ confirmed,
237
+ range: confirmed ? this.selectedRange : null,
238
+ },
239
+ bubbles: true,
240
+ composed: true,
241
+ }));
242
+ }
243
+ _renderHeader() {
244
+ return html `
245
+ <div class="modal-header">
246
+ <h2 class="modal-title">${this.title}</h2>
247
+ <div style="display: flex; gap: 8px;">
248
+ ${this.showModeToggle
249
+ ? html `
250
+ <ui-icon-button
251
+ @click=${this._handleModeToggle}
252
+ aria-label=${this._isInputMode ? 'Show calendar' : 'Show date input'}
253
+ title=${this._isInputMode ? 'Show calendar' : 'Show date input'}
254
+ >
255
+ <ui-icon icon=${this._isInputMode ? 'calendarToday' : 'edit'}></ui-icon>
256
+ </ui-icon-button>
257
+ `
258
+ : ''}
259
+ <ui-icon-button @click=${this._handleCancel} aria-label="Close" title="Close">
260
+ <ui-icon icon="close"></ui-icon>
261
+ </ui-icon-button>
262
+ </div>
263
+ </div>
264
+ `;
265
+ }
266
+ _renderDateDisplay() {
267
+ const startDate = this.selectedRange?.start;
268
+ const endDate = this.selectedRange?.end;
269
+ return html `
270
+ <div class="date-range-display">
271
+ <div class="date-display">
272
+ <div class="date-label">${this.startLabel}</div>
273
+ <div class="date-value">${startDate ? formatDate(startDate, this.locale) : 'Select date'}</div>
274
+ </div>
275
+ <div class="date-separator">—</div>
276
+ <div class="date-display">
277
+ <div class="date-label">${this.endLabel}</div>
278
+ <div class="date-value">${endDate ? formatDate(endDate, this.locale) : 'Select date'}</div>
279
+ </div>
280
+ </div>
281
+ `;
282
+ }
283
+ _renderCalendar() {
284
+ const currentDate = this.selectedRange?.start || new Date();
285
+ return html `
286
+ <ui-date-picker-calendar
287
+ .year=${currentDate.getFullYear()}
288
+ .month=${currentDate.getMonth()}
289
+ .selectedRange=${this.selectedRange}
290
+ .rangeSelection=${true}
291
+ .minDate=${this.minDate}
292
+ .maxDate=${this.maxDate}
293
+ .disabledDates=${this.disabledDates}
294
+ .locale=${this.locale}
295
+ @date-range-select=${this._handleRangeSelect}
296
+ ></ui-date-picker-calendar>
297
+ `;
298
+ }
299
+ _renderInputMode() {
300
+ // For now, we'll show a placeholder for input mode
301
+ // This could be enhanced with actual date input fields
302
+ return html `
303
+ <div style="padding: 24px; text-align: center; color: var(--ui-color-on-surface-variant);">
304
+ <ui-icon icon="edit" style="font-size: 48px; margin-bottom: 16px;"></ui-icon>
305
+ <p>Manual date input mode</p>
306
+ <p>This feature can be enhanced with date input fields</p>
307
+ </div>
308
+ `;
309
+ }
310
+ _renderContent() {
311
+ return html `
312
+ <div class="modal-content">
313
+ ${this._renderDateDisplay()} ${this._isInputMode ? this._renderInputMode() : this._renderCalendar()}
314
+ </div>
315
+ `;
316
+ }
317
+ _renderActions() {
318
+ const hasValidRange = this.selectedRange?.start && this.selectedRange?.end;
319
+ return html `
320
+ <div class="modal-actions">
321
+ <ui-button color="text" @click=${this._handleCancel}>Cancel</ui-button>
322
+ <ui-button color="filled" @click=${this._handleConfirm} .disabled=${!hasValidRange}> Confirm </ui-button>
323
+ </div>
324
+ `;
325
+ }
326
+ render() {
327
+ return html `
328
+ <ui-dialog .open=${this.open} @close=${this._handleCancel}>
329
+ ${this._renderHeader()} ${this._renderContent()} ${this._renderActions()}
330
+ </ui-dialog>
331
+ `;
332
+ }
333
+ constructor() {
334
+ super(...arguments);
335
+ __runInitializers(this, __isInputMode_extraInitializers);
336
+ }
337
+ static {
338
+ __runInitializers(_classThis, _classExtraInitializers);
339
+ }
340
+ };
341
+ return UiDatePickerModal = _classThis;
342
+ })();
343
+ export { UiDatePickerModal };
344
+ //# sourceMappingURL=ui-date-picker-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-date-picker-modal.js","sourceRoot":"","sources":["../../../../src/md/date-picker/ui-date-picker-modal.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { modalStyles } from './internals/DatePicker.styles.js'\nimport { DateRange, formatDate } from './internals/DatePickerUtils.js'\nimport type { DateRangeSelectEvent } from './internals/DatePickerCalendar.js'\nimport './internals/DatePickerCalendar.js'\nimport '../../md/dialog/ui-dialog.js'\nimport '../../md/button/ui-button.js'\nimport '../../md/icon-button/ui-icon-button.js'\nimport '../../md/icons/ui-icon.js'\n\nexport interface ModalDatePickerChangeEvent {\n range: DateRange\n formattedRange: {\n start: string | null\n end: string | null\n }\n}\n\n/**\n * A modal date picker for selecting date ranges.\n * Extends full-screen and is ideal for date range selection like flight bookings.\n *\n * ## Usage\n *\n * ```html\n * <ui-date-picker-modal\n * .open=${true}\n * .selectedRange=${{ start: new Date(), end: null }}\n * @change=${this.handleRangeChange}\n * @close=${this.handleClose}\n * ></ui-date-picker-modal>\n * ```\n *\n * ### Custom labels\n * ```html\n * <ui-date-picker-modal\n * title=\"Select travel dates\"\n * startLabel=\"Check-in\"\n * endLabel=\"Check-out\"\n * ></ui-date-picker-modal>\n * ```\n */\n@customElement('ui-date-picker-modal')\nexport class UiDatePickerModal extends LitElement {\n static override styles = modalStyles\n\n /**\n * Whether the modal is open\n */\n @property({ type: Boolean }) accessor open = false\n\n /**\n * The modal title\n */\n @property({ type: String }) override accessor title = 'Select dates'\n\n /**\n * Label for the start date\n */\n @property({ type: String }) accessor startLabel = 'Start date'\n\n /**\n * Label for the end date\n */\n @property({ type: String }) accessor endLabel = 'End date'\n\n /**\n * The selected date range\n */\n @property({ type: Object }) accessor selectedRange: DateRange | null = null\n\n /**\n * Minimum selectable date\n */\n @property({ type: Object }) accessor minDate: Date | undefined = undefined\n\n /**\n * Maximum selectable date\n */\n @property({ type: Object }) accessor maxDate: Date | undefined = undefined\n\n /**\n * Array of disabled dates\n */\n @property({ type: Array }) accessor disabledDates: Date[] | undefined = undefined\n\n /**\n * Locale for date formatting\n */\n @property({ type: String }) accessor locale: string | undefined = undefined\n\n /**\n * Whether to show edit/calendar toggle button\n */\n @property({ type: Boolean }) accessor showModeToggle = true\n\n @state() private accessor _isInputMode = false\n\n private _handleRangeSelect(event: CustomEvent<DateRangeSelectEvent>): void {\n this.selectedRange = event.detail.range\n this._dispatchChangeEvent()\n }\n\n private _handleCancel(): void {\n this._dispatchCloseEvent(false)\n }\n\n private _handleConfirm(): void {\n this._dispatchCloseEvent(true)\n }\n\n private _handleModeToggle(): void {\n this._isInputMode = !this._isInputMode\n }\n\n private _dispatchChangeEvent(): void {\n if (!this.selectedRange) return\n\n const event: ModalDatePickerChangeEvent = {\n range: this.selectedRange,\n formattedRange: {\n start: this.selectedRange.start ? formatDate(this.selectedRange.start, this.locale) : null,\n end: this.selectedRange.end ? formatDate(this.selectedRange.end, this.locale) : null,\n },\n }\n\n this.dispatchEvent(\n new CustomEvent('date-range-change', {\n detail: event,\n bubbles: true,\n composed: true,\n })\n )\n }\n\n private _dispatchCloseEvent(confirmed: boolean): void {\n this.dispatchEvent(\n new CustomEvent('close', {\n detail: {\n confirmed,\n range: confirmed ? this.selectedRange : null,\n },\n bubbles: true,\n composed: true,\n })\n )\n }\n\n private _renderHeader(): TemplateResult {\n return html`\n <div class=\"modal-header\">\n <h2 class=\"modal-title\">${this.title}</h2>\n <div style=\"display: flex; gap: 8px;\">\n ${this.showModeToggle\n ? html`\n <ui-icon-button\n @click=${this._handleModeToggle}\n aria-label=${this._isInputMode ? 'Show calendar' : 'Show date input'}\n title=${this._isInputMode ? 'Show calendar' : 'Show date input'}\n >\n <ui-icon icon=${this._isInputMode ? 'calendarToday' : 'edit'}></ui-icon>\n </ui-icon-button>\n `\n : ''}\n <ui-icon-button @click=${this._handleCancel} aria-label=\"Close\" title=\"Close\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n </div>\n </div>\n `\n }\n\n private _renderDateDisplay(): TemplateResult {\n const startDate = this.selectedRange?.start\n const endDate = this.selectedRange?.end\n\n return html`\n <div class=\"date-range-display\">\n <div class=\"date-display\">\n <div class=\"date-label\">${this.startLabel}</div>\n <div class=\"date-value\">${startDate ? formatDate(startDate, this.locale) : 'Select date'}</div>\n </div>\n <div class=\"date-separator\">—</div>\n <div class=\"date-display\">\n <div class=\"date-label\">${this.endLabel}</div>\n <div class=\"date-value\">${endDate ? formatDate(endDate, this.locale) : 'Select date'}</div>\n </div>\n </div>\n `\n }\n\n private _renderCalendar(): TemplateResult {\n const currentDate = this.selectedRange?.start || new Date()\n\n return html`\n <ui-date-picker-calendar\n .year=${currentDate.getFullYear()}\n .month=${currentDate.getMonth()}\n .selectedRange=${this.selectedRange}\n .rangeSelection=${true}\n .minDate=${this.minDate}\n .maxDate=${this.maxDate}\n .disabledDates=${this.disabledDates}\n .locale=${this.locale}\n @date-range-select=${this._handleRangeSelect}\n ></ui-date-picker-calendar>\n `\n }\n\n private _renderInputMode(): TemplateResult {\n // For now, we'll show a placeholder for input mode\n // This could be enhanced with actual date input fields\n return html`\n <div style=\"padding: 24px; text-align: center; color: var(--ui-color-on-surface-variant);\">\n <ui-icon icon=\"edit\" style=\"font-size: 48px; margin-bottom: 16px;\"></ui-icon>\n <p>Manual date input mode</p>\n <p>This feature can be enhanced with date input fields</p>\n </div>\n `\n }\n\n private _renderContent(): TemplateResult {\n return html`\n <div class=\"modal-content\">\n ${this._renderDateDisplay()} ${this._isInputMode ? this._renderInputMode() : this._renderCalendar()}\n </div>\n `\n }\n\n private _renderActions(): TemplateResult {\n const hasValidRange = this.selectedRange?.start && this.selectedRange?.end\n\n return html`\n <div class=\"modal-actions\">\n <ui-button color=\"text\" @click=${this._handleCancel}>Cancel</ui-button>\n <ui-button color=\"filled\" @click=${this._handleConfirm} .disabled=${!hasValidRange}> Confirm </ui-button>\n </div>\n `\n }\n\n override render(): TemplateResult {\n return html`\n <ui-dialog .open=${this.open} @close=${this._handleCancel}>\n ${this._renderHeader()} ${this._renderContent()} ${this._renderActions()}\n </ui-dialog>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-date-picker-modal': UiDatePickerModal\n }\n\n interface HTMLElementEventMap {\n 'date-range-change': CustomEvent<ModalDatePickerChangeEvent>\n 'close': CustomEvent<{\n confirmed: boolean\n range: DateRange | null\n }>\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/dialog/internals/Dialog.styles.ts"],"names":[],"mappings":";AAEA,wBAiKC"}
1
+ {"version":3,"file":"Dialog.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/dialog/internals/Dialog.styles.ts"],"names":[],"mappings":";AAEA,wBAkKC"}
@@ -34,6 +34,7 @@ export default css `
34
34
  left: 50%;
35
35
  transform: translate(-50%, -50%);
36
36
  margin: 0;
37
+ z-index: 1000;
37
38
  }
38
39
 
39
40
  dialog.non-modal:open {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.styles.js","sourceRoot":"","sources":["../../../../../src/md/dialog/internals/Dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: contents;\n }\n\n dialog {\n overflow: hidden;\n /* Do not override the display value here. It will render the dialog even when hidden */\n\n border: none;\n border-radius: var(--md-sys-shape-corner-extra-large);\n background-color: var(--md-sys-color-surface-container-high);\n box-shadow: var(--md-sys-elevation-3);\n color: var(--md-sys-color-on-surface-variant);\n padding: 24px;\n\n max-width: var(--ui-dialog-max-width, 90vw);\n max-height: var(--ui-dialog-max-height, 90vh);\n width: var(--ui-dialog-width, revert);\n height: var(--ui-dialog-height, revert);\n }\n\n dialog:open {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-dialog;\n display: flex;\n flex-direction: column;\n }\n\n /* Positioning for non-modal dialogs */\n dialog.non-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n margin: 0;\n }\n\n dialog.non-modal:open {\n /* Override the animation transform for non-modal dialogs to account for centering */\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-non-modal-dialog;\n }\n\n dialog:open::backdrop {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-backdrop;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n }\n\n .icon {\n display: none;\n }\n\n .icon.with-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 16px;\n }\n\n .icon ::slotted(*) {\n color: var(--md-sys-color-secondary);\n fill: var(--md-sys-color-secondary);\n width: 24px;\n height: 24px;\n }\n\n .icon.destructive ::slotted(*) {\n color: var(--md-sys-color-error);\n fill: var(--md-sys-color-error);\n }\n\n .title {\n display: none;\n color: var(--md-sys-color-on-surface);\n font-family: var(--md-sys-typescale-headline-small-font);\n font-weight: var(--md-sys-typescale-headline-small-weight);\n font-size: var(--md-sys-typescale-headline-small-size);\n letter-spacing: var(--md-sys-typescale-headline-small-tracking);\n line-height: var(--md-sys-typescale-headline-small-height);\n margin: 0;\n padding: 0;\n text-align: center;\n }\n\n .title.with-title {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 16px;\n }\n\n .content {\n overflow: auto;\n font-family: var(--md-sys-typescale-body-medium-font);\n font-weight: var(--md-sys-typescale-body-medium-weight);\n font-size: var(--md-sys-typescale-body-medium-size);\n letter-spacing: var(--md-sys-typescale-body-medium-tracking);\n line-height: var(--md-sys-typescale-body-medium-height);\n }\n\n .buttons {\n display: none;\n display: flex;\n align-items: center;\n justify-content: end;\n }\n\n .buttons.with-buttons {\n margin-top: 24px;\n }\n\n .buttons ::slotted(:not(:last-child)) {\n margin-right: 12px;\n }\n\n .content ::slotted(*) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n @keyframes show-dialog {\n from {\n transform: translateY(-110%) scaleY(0);\n }\n to {\n transform: translateY(0%) scaleY(1);\n }\n }\n\n @keyframes show-non-modal-dialog {\n from {\n transform: translate(-50%, -50%) translateY(-110%) scaleY(0);\n }\n to {\n transform: translate(-50%, -50%) translateY(0%) scaleY(1);\n }\n }\n\n @keyframes show-backdrop {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Destructive button styling for dangerous actions */\n .internal-button.destructive {\n --_background-color: var(--md-sys-color-error);\n --_color: var(--md-sys-color-on-error);\n\n /* Override ripple colors for better interaction feedback */\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-error);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-error);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-error);\n }\n`\n"]}
1
+ {"version":3,"file":"Dialog.styles.js","sourceRoot":"","sources":["../../../../../src/md/dialog/internals/Dialog.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: contents;\n }\n\n dialog {\n overflow: hidden;\n /* Do not override the display value here. It will render the dialog even when hidden */\n\n border: none;\n border-radius: var(--md-sys-shape-corner-extra-large);\n background-color: var(--md-sys-color-surface-container-high);\n box-shadow: var(--md-sys-elevation-3);\n color: var(--md-sys-color-on-surface-variant);\n padding: 24px;\n\n max-width: var(--ui-dialog-max-width, 90vw);\n max-height: var(--ui-dialog-max-height, 90vh);\n width: var(--ui-dialog-width, revert);\n height: var(--ui-dialog-height, revert);\n }\n\n dialog:open {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-dialog;\n display: flex;\n flex-direction: column;\n }\n\n /* Positioning for non-modal dialogs */\n dialog.non-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n margin: 0;\n z-index: 1000;\n }\n\n dialog.non-modal:open {\n /* Override the animation transform for non-modal dialogs to account for centering */\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-non-modal-dialog;\n }\n\n dialog:open::backdrop {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-backdrop;\n }\n\n .container {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n }\n\n .icon {\n display: none;\n }\n\n .icon.with-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 16px;\n }\n\n .icon ::slotted(*) {\n color: var(--md-sys-color-secondary);\n fill: var(--md-sys-color-secondary);\n width: 24px;\n height: 24px;\n }\n\n .icon.destructive ::slotted(*) {\n color: var(--md-sys-color-error);\n fill: var(--md-sys-color-error);\n }\n\n .title {\n display: none;\n color: var(--md-sys-color-on-surface);\n font-family: var(--md-sys-typescale-headline-small-font);\n font-weight: var(--md-sys-typescale-headline-small-weight);\n font-size: var(--md-sys-typescale-headline-small-size);\n letter-spacing: var(--md-sys-typescale-headline-small-tracking);\n line-height: var(--md-sys-typescale-headline-small-height);\n margin: 0;\n padding: 0;\n text-align: center;\n }\n\n .title.with-title {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 16px;\n }\n\n .content {\n overflow: auto;\n font-family: var(--md-sys-typescale-body-medium-font);\n font-weight: var(--md-sys-typescale-body-medium-weight);\n font-size: var(--md-sys-typescale-body-medium-size);\n letter-spacing: var(--md-sys-typescale-body-medium-tracking);\n line-height: var(--md-sys-typescale-body-medium-height);\n }\n\n .buttons {\n display: none;\n display: flex;\n align-items: center;\n justify-content: end;\n }\n\n .buttons.with-buttons {\n margin-top: 24px;\n }\n\n .buttons ::slotted(:not(:last-child)) {\n margin-right: 12px;\n }\n\n .content ::slotted(*) {\n background-color: var(--md-sys-color-surface-container-high);\n }\n\n @keyframes show-dialog {\n from {\n transform: translateY(-110%) scaleY(0);\n }\n to {\n transform: translateY(0%) scaleY(1);\n }\n }\n\n @keyframes show-non-modal-dialog {\n from {\n transform: translate(-50%, -50%) translateY(-110%) scaleY(0);\n }\n to {\n transform: translate(-50%, -50%) translateY(0%) scaleY(1);\n }\n }\n\n @keyframes show-backdrop {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n /* Destructive button styling for dangerous actions */\n .internal-button.destructive {\n --_background-color: var(--md-sys-color-error);\n --_color: var(--md-sys-color-on-error);\n\n /* Override ripple colors for better interaction feedback */\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-error);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-error);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-error);\n }\n`\n"]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "log": {
3
3
  "creator": {
4
- "name": "Advanced REST Client",
4
+ "name": "ABC",
5
5
  "version": "Unknown"
6
6
  },
7
7
  "version": "1.2",