@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
@@ -234,6 +234,8 @@ export default class BaseButton extends UiElement {
234
234
  const allowedReasons = reason === 'enter' || reason === 'space'
235
235
  if (this.type === 'submit' && (!reason || allowedReasons)) {
236
236
  this.handleSubmit()
237
+ } else if (this.type === 'reset' && (!reason || allowedReasons)) {
238
+ this.handleReset()
237
239
  } else if (allowedReasons) {
238
240
  this.click()
239
241
  }
@@ -337,6 +339,11 @@ export default class BaseButton extends UiElement {
337
339
  }
338
340
  }
339
341
 
342
+ protected handleReset(): void {
343
+ const form = this.form as HTMLFormElement
344
+ form?.reset()
345
+ }
346
+
340
347
  override handlePointerEnter(e: PointerEvent): void {
341
348
  super.handlePointerEnter(e)
342
349
  this.ripple?.beginHover(e)
@@ -218,6 +218,10 @@ export const inputStyles = css`
218
218
  z-index: 999;
219
219
  background: transparent;
220
220
  }
221
+
222
+ .calendar-icon {
223
+ cursor: pointer;
224
+ }
221
225
  `
222
226
 
223
227
  export const modalStyles = css`
@@ -283,6 +287,75 @@ export const modalStyles = css`
283
287
  font-size: 18px;
284
288
  }
285
289
 
290
+ /* Input container and format help styles */
291
+ .input-container {
292
+ display: flex;
293
+ flex-direction: column;
294
+ gap: 16px;
295
+ width: 100%;
296
+ max-width: 320px;
297
+ }
298
+
299
+ .format-help {
300
+ padding: 12px 16px;
301
+ background: var(--md-sys-color-surface-container-highest);
302
+ border-radius: 8px;
303
+ border: 1px solid var(--md-sys-color-outline-variant);
304
+ }
305
+
306
+ .help-title {
307
+ margin: 0 0 8px 0;
308
+ font-size: 14px;
309
+ color: var(--md-sys-color-on-surface);
310
+ line-height: 1.4;
311
+ }
312
+
313
+ .help-examples {
314
+ margin: 0;
315
+ font-size: 13px;
316
+ color: var(--md-sys-color-on-surface-variant);
317
+ line-height: 1.4;
318
+ }
319
+
320
+ /* Accessibility utilities */
321
+ .visually-hidden {
322
+ position: absolute;
323
+ width: 1px;
324
+ height: 1px;
325
+ padding: 0;
326
+ margin: -1px;
327
+ overflow: hidden;
328
+ clip: rect(0, 0, 0, 0);
329
+ white-space: nowrap;
330
+ border: 0;
331
+ }
332
+
333
+ fieldset {
334
+ border: none;
335
+ margin: 0;
336
+ padding: 0;
337
+ display: flex;
338
+ flex-direction: column;
339
+ gap: 16px;
340
+ }
341
+
342
+ /* Modal header actions and input mode styles */
343
+ .header-actions {
344
+ display: flex;
345
+ gap: 8px;
346
+ }
347
+
348
+ .input-mode-placeholder {
349
+ padding: 24px;
350
+ text-align: center;
351
+ color: var(--md-sys-color-on-surface-variant);
352
+ }
353
+
354
+ .input-mode-icon {
355
+ font-size: 48px;
356
+ margin-bottom: 16px;
357
+ }
358
+
286
359
  .modal-actions {
287
360
  display: flex;
288
361
  justify-content: flex-end;