@melodicdev/components 1.5.9 → 1.5.11

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 (23) hide show
  1. package/assets/melodic-components.js +99 -74
  2. package/assets/melodic-components.js.map +1 -1
  3. package/assets/melodic-components.min.js +556 -536
  4. package/lib/components/forms/autocomplete/autocomplete.component.d.ts +4 -0
  5. package/lib/components/forms/autocomplete/autocomplete.component.d.ts.map +1 -1
  6. package/lib/components/forms/autocomplete/autocomplete.component.js +10 -3
  7. package/lib/components/forms/date-picker/date-picker.component.d.ts +8 -2
  8. package/lib/components/forms/date-picker/date-picker.component.d.ts.map +1 -1
  9. package/lib/components/forms/date-picker/date-picker.component.js +32 -21
  10. package/lib/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
  11. package/lib/components/forms/date-picker/date-picker.styles.js +53 -27
  12. package/lib/components/forms/date-picker/date-picker.template.d.ts.map +1 -1
  13. package/lib/components/forms/date-picker/date-picker.template.js +27 -17
  14. package/lib/components/forms/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  15. package/lib/components/forms/date-time-picker/date-time-picker.component.js +47 -0
  16. package/lib/components/forms/time-picker/time-picker.component.d.ts +5 -0
  17. package/lib/components/forms/time-picker/time-picker.component.d.ts.map +1 -1
  18. package/lib/components/forms/time-picker/time-picker.component.js +29 -5
  19. package/lib/components/forms/time-picker/time-picker.styles.d.ts.map +1 -1
  20. package/lib/components/forms/time-picker/time-picker.styles.js +53 -27
  21. package/lib/components/forms/time-picker/time-picker.template.d.ts.map +1 -1
  22. package/lib/components/forms/time-picker/time-picker.template.js +28 -17
  23. package/package.json +1 -1
@@ -122,32 +122,24 @@ export const timePickerStyles = () => css `
122
122
  margin-left: var(--ml-space-0-5);
123
123
  }
124
124
 
125
- /* Trigger button */
125
+ /* Trigger wrapper */
126
126
  .ml-time-picker__trigger {
127
127
  display: flex;
128
128
  align-items: center;
129
- gap: var(--ml-time-picker-gap);
130
129
  width: 100%;
131
- padding: var(--ml-time-picker-padding);
132
130
  border: var(--ml-time-picker-border-width) solid var(--ml-time-picker-border-color);
133
131
  border-radius: var(--ml-time-picker-border-radius);
134
132
  background-color: var(--ml-time-picker-bg);
135
- color: var(--ml-time-picker-color);
136
- cursor: pointer;
137
- font-family: var(--ml-time-picker-font-family);
138
- font-size: var(--ml-time-picker-font-size);
139
- text-align: left;
140
133
  transition:
141
134
  border-color var(--ml-time-picker-transition-duration) var(--ml-time-picker-transition-easing),
142
135
  box-shadow var(--ml-time-picker-transition-duration) var(--ml-time-picker-transition-easing);
143
136
  }
144
137
 
145
- .ml-time-picker__trigger:hover:not(:disabled) {
138
+ .ml-time-picker__trigger:hover:not(:has(:disabled)) {
146
139
  border-color: var(--ml-time-picker-hover-border-color);
147
140
  }
148
141
 
149
- .ml-time-picker__trigger:focus-visible {
150
- outline: none;
142
+ .ml-time-picker__trigger:focus-within {
151
143
  border-color: var(--ml-time-picker-focus-border-color);
152
144
  box-shadow: var(--ml-time-picker-focus-shadow);
153
145
  }
@@ -161,7 +153,7 @@ export const timePickerStyles = () => css `
161
153
  border-color: var(--ml-time-picker-error-border-color);
162
154
  }
163
155
 
164
- .ml-time-picker--error .ml-time-picker__trigger:focus-visible,
156
+ .ml-time-picker--error .ml-time-picker__trigger:focus-within,
165
157
  .ml-time-picker--error.ml-time-picker--open .ml-time-picker__trigger {
166
158
  box-shadow: var(--ml-time-picker-error-focus-shadow);
167
159
  }
@@ -172,39 +164,73 @@ export const timePickerStyles = () => css `
172
164
  background-color: var(--ml-time-picker-disabled-bg);
173
165
  }
174
166
 
167
+ /* Time input */
168
+ .ml-time-picker__input {
169
+ flex: 1;
170
+ min-width: 0;
171
+ border: none;
172
+ outline: none;
173
+ background: transparent;
174
+ color: var(--ml-time-picker-color);
175
+ font-family: var(--ml-time-picker-font-family);
176
+ font-size: var(--ml-time-picker-font-size);
177
+ padding: var(--ml-time-picker-padding);
178
+ }
179
+
180
+ /* Hide native time picker indicator across browsers */
181
+ .ml-time-picker__input::-webkit-calendar-picker-indicator {
182
+ display: none;
183
+ -webkit-appearance: none;
184
+ }
185
+
186
+ .ml-time-picker__input::-webkit-date-and-time-value {
187
+ text-align: left;
188
+ }
189
+
190
+ .ml-time-picker__input:disabled {
191
+ cursor: not-allowed;
192
+ }
193
+
175
194
  /* Sizes */
176
- .ml-time-picker--sm .ml-time-picker__trigger {
195
+ .ml-time-picker--sm .ml-time-picker__input {
177
196
  padding: var(--ml-space-2) var(--ml-space-3);
178
197
  font-size: var(--ml-text-sm);
179
198
  }
180
199
 
181
- .ml-time-picker--md .ml-time-picker__trigger {
200
+ .ml-time-picker--md .ml-time-picker__input {
182
201
  padding: var(--ml-space-2-5) var(--ml-space-3-5);
183
202
  font-size: var(--ml-text-sm);
184
203
  }
185
204
 
186
- .ml-time-picker--lg .ml-time-picker__trigger {
205
+ .ml-time-picker--lg .ml-time-picker__input {
187
206
  padding: var(--ml-space-3) var(--ml-space-3-5);
188
207
  font-size: var(--ml-text-base);
189
208
  }
190
209
 
191
- /* Icon */
192
- .ml-time-picker__icon {
193
- flex-shrink: 0;
210
+ /* Clock button */
211
+ .ml-time-picker__clock-btn {
212
+ display: flex;
213
+ align-items: center;
214
+ justify-content: center;
215
+ border: none;
216
+ background: transparent;
217
+ cursor: pointer;
218
+ padding: 0 var(--ml-space-3) 0 0;
194
219
  color: var(--ml-time-picker-icon-color);
220
+ transition: color var(--ml-time-picker-transition-duration) var(--ml-time-picker-transition-easing);
195
221
  }
196
222
 
197
- /* Value */
198
- .ml-time-picker__value {
199
- flex: 1;
200
- min-width: 0;
201
- overflow: hidden;
202
- text-overflow: ellipsis;
203
- white-space: nowrap;
223
+ .ml-time-picker__clock-btn:hover:not(:disabled) {
224
+ color: var(--ml-time-picker-color);
225
+ }
226
+
227
+ .ml-time-picker__clock-btn:disabled {
228
+ cursor: not-allowed;
204
229
  }
205
230
 
206
- .ml-time-picker__value--placeholder {
207
- color: var(--ml-time-picker-placeholder-color);
231
+ /* Icon */
232
+ .ml-time-picker__icon {
233
+ flex-shrink: 0;
208
234
  }
209
235
 
210
236
  /* Popover */
@@ -1 +1 @@
1
- {"version":3,"file":"time-picker.template.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/time-picker/time-picker.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,6CA6HxD"}
1
+ {"version":3,"file":"time-picker.template.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/time-picker/time-picker.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,6CAwIxD"}
@@ -15,23 +15,34 @@ export function timePickerTemplate(c) {
15
15
  </label>
16
16
  `)}
17
17
 
18
- <button
19
- type="button"
20
- class="ml-time-picker__trigger"
21
- ?disabled=${c.disabled}
22
- aria-haspopup="dialog"
23
- aria-expanded=${c.isOpen ? 'true' : 'false'}
24
- @click=${c.togglePopover}
25
- @keydown=${c.handleKeyDown}
26
- >
27
- <ml-icon icon="clock" size="sm" class="ml-time-picker__icon"></ml-icon>
28
- <span class=${classMap({
29
- 'ml-time-picker__value': true,
30
- 'ml-time-picker__value--placeholder': !c.value
31
- })}>
32
- ${c.value ? c.displayValue : c.placeholder}
33
- </span>
34
- </button>
18
+ <div class="ml-time-picker__trigger">
19
+ <input
20
+ type="time"
21
+ class="ml-time-picker__input"
22
+ .value=${c.value}
23
+ min=${c.min}
24
+ max=${c.max}
25
+ step=${c.showSeconds ? '1' : '60'}
26
+ placeholder=${c.placeholder}
27
+ ?disabled=${c.disabled}
28
+ ?required=${c.required}
29
+ aria-haspopup="dialog"
30
+ aria-expanded=${c.isOpen ? 'true' : 'false'}
31
+ @change=${c.handleTimeInput}
32
+ @click=${c.handleInputClick}
33
+ @keydown=${c.handleKeyDown}
34
+ />
35
+ <button
36
+ type="button"
37
+ class="ml-time-picker__clock-btn"
38
+ ?disabled=${c.disabled}
39
+ aria-label="Open time picker"
40
+ tabindex="-1"
41
+ @click=${c.togglePopover}
42
+ >
43
+ <ml-icon icon="clock" size="sm" class="ml-time-picker__icon"></ml-icon>
44
+ </button>
45
+ </div>
35
46
 
36
47
  <div class="ml-time-picker__popover" popover="auto">
37
48
  <div class="ml-time-picker__spinner-group">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@melodicdev/components",
3
- "version": "1.5.9",
3
+ "version": "1.5.11",
4
4
  "description": "Themeable UI component library built on the Melodic Framework",
5
5
  "license": "MIT",
6
6
  "author": "Melodic Development",