@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.
- package/build/src/elements/highlight/MarkdownStyles.d.ts.map +1 -1
- package/build/src/elements/highlight/MarkdownStyles.js +0 -13
- package/build/src/elements/highlight/MarkdownStyles.js.map +1 -1
- package/build/src/elements/http/BodyEditor.d.ts +0 -13
- package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyEditor.js +0 -13
- package/build/src/elements/http/BodyEditor.js.map +1 -1
- package/build/src/elements/http/BodyTextEditor.d.ts +0 -13
- package/build/src/elements/http/BodyTextEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyTextEditor.js +0 -13
- package/build/src/elements/http/BodyTextEditor.js.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +0 -13
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.js +0 -13
- package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/build/src/elements/http/UrlInput.d.ts +0 -13
- package/build/src/elements/http/UrlInput.d.ts.map +1 -1
- package/build/src/elements/http/UrlInput.js +0 -13
- package/build/src/elements/http/UrlInput.js.map +1 -1
- package/build/src/index.d.ts +2 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +2 -0
- package/build/src/index.js.map +1 -1
- package/build/src/md/button/internals/button.styles.js +1 -1
- package/build/src/md/button/internals/button.styles.js.map +1 -1
- package/build/src/md/date/internals/DateTime.d.ts +0 -13
- package/build/src/md/date/internals/DateTime.d.ts.map +1 -1
- package/build/src/md/date/internals/DateTime.js +0 -13
- package/build/src/md/date/internals/DateTime.js.map +1 -1
- package/build/src/md/date-picker/index.d.ts +13 -0
- package/build/src/md/date-picker/index.d.ts.map +1 -0
- package/build/src/md/date-picker/index.js +13 -0
- package/build/src/md/date-picker/index.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.d.ts +4 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.js +336 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts +159 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.js +770 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.d.ts +93 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.js +221 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-input.d.ts +108 -0
- package/build/src/md/date-picker/ui-date-picker-input.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-input.js +397 -0
- package/build/src/md/date-picker/ui-date-picker-input.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts +119 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.js +473 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal.d.ts +108 -0
- package/build/src/md/date-picker/ui-date-picker-modal.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal.js +344 -0
- package/build/src/md/date-picker/ui-date-picker-modal.js.map +1 -0
- package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
- package/build/src/md/dialog/internals/Dialog.styles.js +1 -0
- package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
- package/demo/elements/har/har2.json +1 -1
- package/demo/md/date-picker/date-picker.ts +301 -0
- package/demo/md/date-picker/index.html +171 -0
- package/demo/md/index.html +2 -0
- package/package.json +1 -1
- package/src/elements/highlight/MarkdownStyles.ts +0 -13
- package/src/elements/http/BodyEditor.ts +0 -13
- package/src/elements/http/BodyTextEditor.ts +0 -13
- package/src/elements/http/BodyUrlEncodedEditor.ts +0 -13
- package/src/elements/http/UrlInput.ts +0 -13
- package/src/index.ts +17 -0
- package/src/md/button/internals/button.styles.ts +1 -1
- package/src/md/date/internals/DateTime.ts +0 -14
- package/src/md/date-picker/README.md +184 -0
- package/src/md/date-picker/index.ts +17 -0
- package/src/md/date-picker/internals/DatePicker.styles.ts +338 -0
- package/src/md/date-picker/internals/DatePickerCalendar.ts +697 -0
- package/src/md/date-picker/internals/DatePickerUtils.ts +288 -0
- package/src/md/date-picker/ui-date-picker-input.ts +272 -0
- package/src/md/date-picker/ui-date-picker-modal-input.ts +371 -0
- package/src/md/date-picker/ui-date-picker-modal.ts +263 -0
- package/src/md/dialog/internals/Dialog.styles.ts +1 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { html, TemplateResult } from 'lit'
|
|
2
|
+
import { reactive } from '../../../src/decorators/index.js'
|
|
3
|
+
import { DemoPage } from '../../../src/demo/DemoPage.js'
|
|
4
|
+
|
|
5
|
+
import '../../../src/md/date-picker/index.js'
|
|
6
|
+
import '../../../src/md/button/ui-button.js'
|
|
7
|
+
|
|
8
|
+
class DatePickerDemoPage extends DemoPage {
|
|
9
|
+
override accessor componentName = 'Date Picker'
|
|
10
|
+
|
|
11
|
+
@reactive() accessor rangeMode = false
|
|
12
|
+
@reactive() accessor showConstraints = false
|
|
13
|
+
@reactive() accessor selectedDate: Date | null = null
|
|
14
|
+
@reactive() accessor selectedRange: { start: Date | null; end: Date | null } = { start: null, end: null }
|
|
15
|
+
@reactive() accessor modalOpen = false
|
|
16
|
+
@reactive() accessor modalInputOpen = false
|
|
17
|
+
@reactive() accessor formValues: string | undefined
|
|
18
|
+
|
|
19
|
+
private get today(): Date {
|
|
20
|
+
return new Date()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
private get oneMonthFromNow(): Date {
|
|
24
|
+
const date = new Date()
|
|
25
|
+
date.setMonth(date.getMonth() + 1)
|
|
26
|
+
return date
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
private get oneYearFromNow(): Date {
|
|
30
|
+
const date = new Date()
|
|
31
|
+
date.setFullYear(date.getFullYear() + 1)
|
|
32
|
+
return date
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
handleRangeModeChange(e: Event): void {
|
|
36
|
+
const checkbox = e.target as HTMLInputElement
|
|
37
|
+
this.rangeMode = checkbox.checked
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
handleConstraintsChange(e: Event): void {
|
|
41
|
+
const checkbox = e.target as HTMLInputElement
|
|
42
|
+
this.showConstraints = checkbox.checked
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
handleDateChange(e: CustomEvent): void {
|
|
46
|
+
this.selectedDate = e.detail.value
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
handleRangeChange(e: CustomEvent): void {
|
|
50
|
+
this.selectedRange = e.detail.range || { start: null, end: null }
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
handleDateConfirm(e: CustomEvent): void {
|
|
54
|
+
this.selectedDate = e.detail.date
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
handleRangeConfirm(e: CustomEvent): void {
|
|
58
|
+
this.selectedRange = e.detail.range || { start: null, end: null }
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
handleDateCancel(e: CustomEvent): void {
|
|
62
|
+
console.log('Date selection cancelled:', e.detail.reason)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
openModal(): void {
|
|
66
|
+
this.modalOpen = true
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
openModalInput(): void {
|
|
70
|
+
this.modalInputOpen = true
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
handleModalClose(e: CustomEvent): void {
|
|
74
|
+
this.modalOpen = false
|
|
75
|
+
if (e.detail.confirmed && e.detail.range) {
|
|
76
|
+
this.selectedRange = e.detail.range
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
handleModalInputClose(e: CustomEvent): void {
|
|
81
|
+
this.modalInputOpen = false
|
|
82
|
+
if (e.detail.confirmed) {
|
|
83
|
+
if (this.rangeMode && e.detail.range) {
|
|
84
|
+
this.selectedRange = e.detail.range
|
|
85
|
+
} else if (!this.rangeMode && e.detail.date) {
|
|
86
|
+
this.selectedDate = e.detail.date
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
handleFormSubmit(e: SubmitEvent): void {
|
|
92
|
+
e.preventDefault()
|
|
93
|
+
const form = e.target as HTMLFormElement
|
|
94
|
+
const formData = new FormData(form)
|
|
95
|
+
const values = Array.from(formData.entries())
|
|
96
|
+
this.formValues = new URLSearchParams(values as string[][]).toString()
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
contentTemplate(): TemplateResult {
|
|
100
|
+
return html`
|
|
101
|
+
<a href="../">Back</a>
|
|
102
|
+
${this.renderConfigurationSection()} ${this.renderInputs()} ${this.renderCalendars()}
|
|
103
|
+
${this.renderModalDatePickers()} ${this.renderFormIntegration()} ${this.renderModalComponents()}
|
|
104
|
+
${this.formValues
|
|
105
|
+
? html`
|
|
106
|
+
<section class="demo-section">
|
|
107
|
+
<h3 class="headline-medium">Form Output</h3>
|
|
108
|
+
<output>
|
|
109
|
+
<code><pre>${this.formValues}</pre></code>
|
|
110
|
+
</output>
|
|
111
|
+
</section>
|
|
112
|
+
`
|
|
113
|
+
: ''}
|
|
114
|
+
`
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
renderInputs(): TemplateResult {
|
|
118
|
+
const { showConstraints: sc } = this
|
|
119
|
+
return html`<section class="demo-section">
|
|
120
|
+
<h2 class="display-large">Date Picker Input</h2>
|
|
121
|
+
<div class="variant-grid">
|
|
122
|
+
<span> </span>
|
|
123
|
+
<span class="legend-marker">1</span>
|
|
124
|
+
<span class="legend-marker">2</span>
|
|
125
|
+
<span class="legend-marker">3</span>
|
|
126
|
+
|
|
127
|
+
<span class="legend-marker">A</span>
|
|
128
|
+
<ui-date-picker-input
|
|
129
|
+
label="Basic input"
|
|
130
|
+
placeholder="Select date"
|
|
131
|
+
.value="${this.selectedDate}"
|
|
132
|
+
@change="${this.handleDateChange}"
|
|
133
|
+
></ui-date-picker-input>
|
|
134
|
+
<ui-date-picker-input
|
|
135
|
+
label="Constrained input"
|
|
136
|
+
placeholder="Select date"
|
|
137
|
+
.minDate="${sc ? this.today : undefined}"
|
|
138
|
+
.maxDate="${sc ? this.oneMonthFromNow : undefined}"
|
|
139
|
+
.value="${this.selectedDate}"
|
|
140
|
+
@change="${this.handleDateChange}"
|
|
141
|
+
></ui-date-picker-input>
|
|
142
|
+
<ui-date-picker-input label="Disabled input" placeholder="Select date" disabled></ui-date-picker-input>
|
|
143
|
+
</div>
|
|
144
|
+
<p class="body-medium">A. Input variants</p>
|
|
145
|
+
<ol class="decimal body-medium">
|
|
146
|
+
<li>Basic</li>
|
|
147
|
+
<li>With constraints</li>
|
|
148
|
+
<li>Disabled / Range selection</li>
|
|
149
|
+
</ol>
|
|
150
|
+
</section>`
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
renderCalendars(): TemplateResult {
|
|
154
|
+
return html`<section class="demo-section xl">
|
|
155
|
+
<h2 class="display-large">Date Picker Calendar</h2>
|
|
156
|
+
<div class="variant-grid">
|
|
157
|
+
<span> </span>
|
|
158
|
+
<span class="legend-marker">1</span>
|
|
159
|
+
<span class="legend-marker">2</span>
|
|
160
|
+
<span class="legend-marker">3</span>
|
|
161
|
+
|
|
162
|
+
<span class="legend-marker">B</span>
|
|
163
|
+
<ui-date-picker-calendar
|
|
164
|
+
showActions
|
|
165
|
+
.selectedDate="${this.selectedDate}"
|
|
166
|
+
@date-confirm="${this.handleDateConfirm}"
|
|
167
|
+
@date-cancel="${this.handleDateCancel}"
|
|
168
|
+
></ui-date-picker-calendar>
|
|
169
|
+
<ui-date-picker-calendar
|
|
170
|
+
showActions
|
|
171
|
+
?rangeSelection="${true}"
|
|
172
|
+
.selectedRange="${this.selectedRange}"
|
|
173
|
+
@date-range-confirm="${this.handleRangeConfirm}"
|
|
174
|
+
@date-cancel="${this.handleDateCancel}"
|
|
175
|
+
></ui-date-picker-calendar>
|
|
176
|
+
<ui-date-picker-calendar
|
|
177
|
+
showActions
|
|
178
|
+
.minDate="${this.today}"
|
|
179
|
+
.maxDate="${this.oneMonthFromNow}"
|
|
180
|
+
.selectedDate="${this.selectedDate}"
|
|
181
|
+
@date-confirm="${this.handleDateConfirm}"
|
|
182
|
+
@date-cancel="${this.handleDateCancel}"
|
|
183
|
+
></ui-date-picker-calendar>
|
|
184
|
+
</div>
|
|
185
|
+
<p class="body-medium">B. Calendar variants</p>
|
|
186
|
+
<ol class="decimal body-medium">
|
|
187
|
+
<li>Basic</li>
|
|
188
|
+
<li>With constraints</li>
|
|
189
|
+
<li>Disabled / Range selection</li>
|
|
190
|
+
</ol>
|
|
191
|
+
</section>`
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
renderModalDatePickers(): TemplateResult {
|
|
195
|
+
const { rangeMode: rm } = this
|
|
196
|
+
return html`
|
|
197
|
+
<section class="demo-section">
|
|
198
|
+
<h2 class="display-large">Modal Date Pickers</h2>
|
|
199
|
+
<div class="modal-demo-grid">
|
|
200
|
+
<div class="modal-demo-item">
|
|
201
|
+
<h3 class="headline-small">Range Selection Modal</h3>
|
|
202
|
+
<ui-button @click="${this.openModal}" color="filled">Open Date Range Picker</ui-button>
|
|
203
|
+
<div class="demo-output">
|
|
204
|
+
${this.selectedRange.start && this.selectedRange.end
|
|
205
|
+
? html`Range: ${this.selectedRange.start.toDateString()} - ${this.selectedRange.end.toDateString()}`
|
|
206
|
+
: 'No range selected'}
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
|
|
210
|
+
<div class="modal-demo-item">
|
|
211
|
+
<h3 class="headline-small">Input Modal</h3>
|
|
212
|
+
<ui-button @click="${this.openModalInput}" color="filled">
|
|
213
|
+
Open ${rm ? 'Range' : 'Single'} Date Input
|
|
214
|
+
</ui-button>
|
|
215
|
+
<div class="demo-output">
|
|
216
|
+
${rm
|
|
217
|
+
? this.selectedRange.start && this.selectedRange.end
|
|
218
|
+
? html`Range: ${this.selectedRange.start.toDateString()} - ${this.selectedRange.end.toDateString()}`
|
|
219
|
+
: 'No range entered'
|
|
220
|
+
: this.selectedDate
|
|
221
|
+
? html`Date: ${this.selectedDate.toDateString()}`
|
|
222
|
+
: 'No date entered'}
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</section>
|
|
227
|
+
`
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
renderFormIntegration(): TemplateResult {
|
|
231
|
+
return html`<section class="demo-section">
|
|
232
|
+
<h2 class="display-large">Form Integration</h2>
|
|
233
|
+
<div class="frame">
|
|
234
|
+
<form @submit="${this.handleFormSubmit}">
|
|
235
|
+
<div class="form-row">
|
|
236
|
+
<ui-date-picker-input required label="Event date" placeholder="Select event date"></ui-date-picker-input>
|
|
237
|
+
</div>
|
|
238
|
+
<div class="form-row">
|
|
239
|
+
<ui-date-picker-input
|
|
240
|
+
label="Deadline (optional)"
|
|
241
|
+
placeholder="Select deadline"
|
|
242
|
+
.minDate="${this.today}"
|
|
243
|
+
required
|
|
244
|
+
></ui-date-picker-input>
|
|
245
|
+
</div>
|
|
246
|
+
<div class="form-actions">
|
|
247
|
+
<ui-button type="submit" color="filled" type="submit">Submit Form</ui-button>
|
|
248
|
+
<ui-button type="reset" color="outlined" type="reset">Reset</ui-button>
|
|
249
|
+
</div>
|
|
250
|
+
</form>
|
|
251
|
+
</div>
|
|
252
|
+
</section>`
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
renderModalComponents(): TemplateResult {
|
|
256
|
+
const { rangeMode: rm } = this
|
|
257
|
+
return html`<!-- Modal Components -->
|
|
258
|
+
<ui-date-picker-modal
|
|
259
|
+
?open="${this.modalOpen}"
|
|
260
|
+
title="Select travel dates"
|
|
261
|
+
startLabel="Check-in"
|
|
262
|
+
endLabel="Check-out"
|
|
263
|
+
@close="${this.handleModalClose}"
|
|
264
|
+
></ui-date-picker-modal>
|
|
265
|
+
|
|
266
|
+
<ui-date-picker-modal-input
|
|
267
|
+
?open="${this.modalInputOpen}"
|
|
268
|
+
title="${rm ? 'Enter date range' : 'Enter date'}"
|
|
269
|
+
.rangeMode="${rm}"
|
|
270
|
+
startLabel="${rm ? 'Start date' : 'Date'}"
|
|
271
|
+
endLabel="${rm ? 'End date' : ''}"
|
|
272
|
+
@modal-input-close="${this.handleModalInputClose}"
|
|
273
|
+
></ui-date-picker-modal-input>`
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
renderConfigurationSection(): TemplateResult {
|
|
277
|
+
const { rangeMode: rm, showConstraints: sc } = this
|
|
278
|
+
return html`
|
|
279
|
+
<section class="demo-section">
|
|
280
|
+
<h2 class="title-large">Configuration</h2>
|
|
281
|
+
<div class="config-grid">
|
|
282
|
+
<div class="config-item">
|
|
283
|
+
<label class="checkbox-label">
|
|
284
|
+
<input type="checkbox" .checked="${rm}" @change="${this.handleRangeModeChange}" />
|
|
285
|
+
Range selection mode
|
|
286
|
+
</label>
|
|
287
|
+
</div>
|
|
288
|
+
<div class="config-item">
|
|
289
|
+
<label class="checkbox-label">
|
|
290
|
+
<input type="checkbox" .checked="${sc}" @change="${this.handleConstraintsChange}" />
|
|
291
|
+
Show date constraints
|
|
292
|
+
</label>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
</section>
|
|
296
|
+
`
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
const instance = new DatePickerDemoPage()
|
|
301
|
+
instance.render()
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en-GB">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>Date Picker Demo</title>
|
|
6
|
+
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0">
|
|
7
|
+
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
|
|
8
|
+
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&icon_names=calendar_month,arrow_drop_down,check" rel="stylesheet" />
|
|
9
|
+
<link href="../../../src/styles/m3/tokens.css" rel="stylesheet" type="text/css" />
|
|
10
|
+
<link href="../../../src/styles/m3/theme.css" rel="stylesheet" type="text/css" />
|
|
11
|
+
<link href="../../../src/styles/m3/native.css" rel="stylesheet" type="text/css" />
|
|
12
|
+
<style>
|
|
13
|
+
.demo-row {
|
|
14
|
+
margin: 20px 0;
|
|
15
|
+
display: flex;
|
|
16
|
+
gap: 12px;
|
|
17
|
+
flex-wrap: wrap;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.demo .demo-section {
|
|
21
|
+
max-width: 858px;
|
|
22
|
+
margin: 0 auto 80px auto;
|
|
23
|
+
--_row-height: 80px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.demo .demo-section.l {
|
|
27
|
+
max-width: 1080px;
|
|
28
|
+
--_row-height: 120px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.demo .demo-section.xl {
|
|
32
|
+
max-width: 1380px;
|
|
33
|
+
--_row-height: 180px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.demo h2, .demo h3 {
|
|
37
|
+
margin-bottom: 36px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
ol {
|
|
41
|
+
padding-left: 0;
|
|
42
|
+
list-style: none;
|
|
43
|
+
counter-reset: item;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
ol > li {
|
|
47
|
+
margin-top: 4px;
|
|
48
|
+
margin-bottom: 20px;
|
|
49
|
+
margin-left: 36px;
|
|
50
|
+
counter-increment: item;
|
|
51
|
+
vertical-align: baseline;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
ol > li:before {
|
|
55
|
+
display: inline-block;
|
|
56
|
+
width: 24px;
|
|
57
|
+
height: 32px;
|
|
58
|
+
margin-top: -4px;
|
|
59
|
+
margin-right: 10px;
|
|
60
|
+
margin-left: -36px;
|
|
61
|
+
border-radius: 12px;
|
|
62
|
+
background: var(--md-sys-color-inverse-surface);
|
|
63
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
64
|
+
line-height: 32px;
|
|
65
|
+
text-align: center;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
ol.decimal > li:before {
|
|
69
|
+
content: counter(item, decimal);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.variant-grid {
|
|
73
|
+
display: grid;
|
|
74
|
+
gap: 24px;
|
|
75
|
+
grid-template-columns: 80px 1fr 1fr 1fr;
|
|
76
|
+
grid-template-rows: auto auto;
|
|
77
|
+
justify-items: start;
|
|
78
|
+
align-items: center;
|
|
79
|
+
padding: 40px;
|
|
80
|
+
border-radius: 20px;
|
|
81
|
+
border: 1px var(--md-sys-color-outline) solid;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.modal-demo-grid {
|
|
85
|
+
display: grid;
|
|
86
|
+
gap: 24px;
|
|
87
|
+
grid-template-columns: 1fr 1fr;
|
|
88
|
+
padding: 40px;
|
|
89
|
+
border-radius: 20px;
|
|
90
|
+
border: 1px var(--md-sys-color-outline) solid;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.modal-demo-item {
|
|
94
|
+
display: flex;
|
|
95
|
+
flex-direction: column;
|
|
96
|
+
gap: 16px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.config-grid {
|
|
100
|
+
display: flex;
|
|
101
|
+
gap: 24px;
|
|
102
|
+
flex-wrap: wrap;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.config-item {
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.checkbox-label {
|
|
111
|
+
display: flex;
|
|
112
|
+
align-items: center;
|
|
113
|
+
gap: 8px;
|
|
114
|
+
cursor: pointer;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.form-row {
|
|
118
|
+
margin-bottom: 16px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.form-actions {
|
|
122
|
+
display: flex;
|
|
123
|
+
gap: 12px;
|
|
124
|
+
margin-top: 24px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.demo-output {
|
|
128
|
+
padding: 12px;
|
|
129
|
+
background: var(--md-sys-color-surface-container);
|
|
130
|
+
border-radius: 8px;
|
|
131
|
+
font-family: monospace;
|
|
132
|
+
font-size: 12px;
|
|
133
|
+
color: var(--md-sys-color-on-surface);
|
|
134
|
+
white-space: pre-wrap;
|
|
135
|
+
min-height: 40px;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.legend-marker {
|
|
139
|
+
width: 24px;
|
|
140
|
+
height: 24px;
|
|
141
|
+
border-radius: 50%;
|
|
142
|
+
background-color: var(--md-sys-color-inverse-surface);
|
|
143
|
+
color: var(--md-sys-color-inverse-on-surface);
|
|
144
|
+
display: flex;
|
|
145
|
+
justify-content: center;
|
|
146
|
+
align-items: center;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.frame {
|
|
150
|
+
padding: 40px;
|
|
151
|
+
border-radius: 20px;
|
|
152
|
+
border: 1px var(--md-sys-color-outline) solid;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@media (max-width: 768px) {
|
|
156
|
+
.variant-grid {
|
|
157
|
+
grid-template-columns: 1fr;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.modal-demo-grid {
|
|
161
|
+
grid-template-columns: 1fr;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
</style>
|
|
165
|
+
</head>
|
|
166
|
+
<body>
|
|
167
|
+
<div id="app"></div>
|
|
168
|
+
|
|
169
|
+
<script type="module" src="/.tmp/demo/md/date-picker/date-picker.js"></script>
|
|
170
|
+
</body>
|
|
171
|
+
</html>
|
package/demo/md/index.html
CHANGED
|
@@ -29,6 +29,8 @@
|
|
|
29
29
|
<dd>A Material 3 chip.</dd>
|
|
30
30
|
<dt><a href="collapse/collapse.html">collapse</a></dt>
|
|
31
31
|
<dd>An animated collapse element.</dd>
|
|
32
|
+
<dt><a href="date-picker/index.html">date-picker</a></dt>
|
|
33
|
+
<dd>A Material 3 date picker element.</dd>
|
|
32
34
|
<dt><a href="dialog/dialog.html">dialog</a></dt>
|
|
33
35
|
<dd>A Material 3 dialog element.</dd>
|
|
34
36
|
<dt><a href="dialog/confirm-dialog.html">confirm-dialog</a></dt>
|
package/package.json
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
2
|
## Styles for markdown viewer
|
|
16
3
|
|
|
17
4
|
It should be included where the `marked-highlight` is used.
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2020 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
import { html, TemplateResult, PropertyValues, nothing } from 'lit'
|
|
15
2
|
import { property, query } from 'lit/decorators.js'
|
|
16
3
|
import type { IBodyMetaModel, IRawBody, IUrlEncodedBodyMeta } from '@api-client/core/models/RequestUiMeta.js'
|
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
2
|
-
/**
|
|
3
|
-
@license
|
|
4
|
-
Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
|
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
6
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
7
|
-
the License at
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
11
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
12
|
-
License for the specific language governing permissions and limitations under
|
|
13
|
-
the License.
|
|
14
|
-
*/
|
|
15
2
|
import { html, nothing, TemplateResult } from 'lit'
|
|
16
3
|
import { property, query } from 'lit/decorators.js'
|
|
17
4
|
// import * as monaco from 'monaco-editor'; // /esm/vs/editor/editor.main.js
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2020 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
import { html, TemplateResult, PropertyValues, nothing } from 'lit'
|
|
15
2
|
import { property } from 'lit/decorators.js'
|
|
16
3
|
import { live } from 'lit/directives/live.js'
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
import { html, TemplateResult } from 'lit'
|
|
15
2
|
import { classMap } from 'lit/directives/class-map.js'
|
|
16
3
|
import { StyleInfo, styleMap } from 'lit/directives/style-map.js'
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,23 @@ export { default as Menu } from './md/menu/internal/Menu.js'
|
|
|
9
9
|
export { default as MenuItem } from './md/menu/internal/MenuItem.js'
|
|
10
10
|
export { default as SubMenu } from './md/menu/internal/SubMenu.js'
|
|
11
11
|
|
|
12
|
+
// Date Picker Components
|
|
13
|
+
export {
|
|
14
|
+
UiDatePickerCalendar,
|
|
15
|
+
UiDatePickerInput,
|
|
16
|
+
UiDatePickerModal,
|
|
17
|
+
UiDatePickerModalInput,
|
|
18
|
+
} from './md/date-picker/index.js'
|
|
19
|
+
export type {
|
|
20
|
+
DateRange,
|
|
21
|
+
CalendarDay,
|
|
22
|
+
CalendarMonth,
|
|
23
|
+
DateSelectEvent,
|
|
24
|
+
DateRangeSelectEvent,
|
|
25
|
+
ModalDatePickerChangeEvent,
|
|
26
|
+
ModalInputDatePickerChangeEvent,
|
|
27
|
+
} from './md/date-picker/index.js'
|
|
28
|
+
|
|
12
29
|
// Demo
|
|
13
30
|
export { DemoPage } from './demo/DemoPage.js'
|
|
14
31
|
|
|
@@ -269,7 +269,7 @@ export default css`
|
|
|
269
269
|
|
|
270
270
|
/* Outlined Button */
|
|
271
271
|
:host([color='outlined']) {
|
|
272
|
-
border: 1px var(--md-sys-color-outline-variant) solid;
|
|
272
|
+
border: 1px var(--md-button-outline-color, var(--md-sys-color-outline-variant)) solid;
|
|
273
273
|
--_color: var(--md-sys-color-on-surface-variant);
|
|
274
274
|
}
|
|
275
275
|
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
1
|
export type DateTimeTextOptions = 'long' | 'short' | 'narrow'
|
|
16
2
|
export type DateTimeNumberOptions = 'numeric' | '2-digit'
|
|
17
3
|
export type DateTimeTimezoneOptions = 'long' | 'short'
|