@allxsmith/bestax-bulma 5.26.2 → 5.26.4

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/dist/bestax.css +1 -1
  2. package/dist/bestax.css.map +1 -1
  3. package/dist/extras.css +1 -1
  4. package/dist/extras.css.map +1 -1
  5. package/dist/index.cjs +992 -580
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.esm.js +992 -580
  8. package/dist/index.esm.js.map +1 -1
  9. package/dist/types/elements/Progress.d.ts +6 -1
  10. package/dist/types/form/Checkboxes.d.ts +7 -0
  11. package/dist/types/form/Control.d.ts +14 -2
  12. package/dist/types/form/DateInput.d.ts +28 -3
  13. package/dist/types/form/DateInputBase.d.ts +17 -3
  14. package/dist/types/form/DateTimeInput.d.ts +28 -3
  15. package/dist/types/form/DateTimeInputBase.d.ts +17 -3
  16. package/dist/types/form/File.d.ts +6 -0
  17. package/dist/types/form/FormContext.d.ts +39 -7
  18. package/dist/types/form/Input.d.ts +21 -4
  19. package/dist/types/form/InputBase.d.ts +5 -2
  20. package/dist/types/form/Radios.d.ts +7 -0
  21. package/dist/types/form/Rate.d.ts +7 -0
  22. package/dist/types/form/Select.d.ts +13 -2
  23. package/dist/types/form/Slider.d.ts +7 -0
  24. package/dist/types/form/Taginput.d.ts +6 -0
  25. package/dist/types/form/TextArea.d.ts +9 -2
  26. package/dist/types/form/TextAreaBase.d.ts +12 -3
  27. package/dist/types/form/TimeInput.d.ts +28 -3
  28. package/dist/types/form/TimeInputBase.d.ts +21 -4
  29. package/dist/types/form/_pickerInternals/Calendar.d.ts +17 -2
  30. package/dist/types/form/_pickerInternals/PickerPopover.d.ts +6 -0
  31. package/dist/types/form/_pickerInternals/dateUtils.d.ts +17 -0
  32. package/dist/types/form/controlLoading.d.ts +4 -0
  33. package/dist/types/helpers/Theme.d.ts +13 -4
  34. package/dist/types/helpers/portal.d.ts +2 -1
  35. package/dist/types/helpers/useAnchoredPosition.d.ts +10 -1
  36. package/dist/types/helpers/useFocusTrap.d.ts +13 -5
  37. package/dist/types/helpers/useOtherClasses.d.ts +13 -1
  38. package/dist/types-cjs/elements/Progress.d.ts +6 -1
  39. package/dist/types-cjs/form/Checkboxes.d.ts +7 -0
  40. package/dist/types-cjs/form/Control.d.ts +14 -2
  41. package/dist/types-cjs/form/DateInput.d.ts +28 -3
  42. package/dist/types-cjs/form/DateInputBase.d.ts +17 -3
  43. package/dist/types-cjs/form/DateTimeInput.d.ts +28 -3
  44. package/dist/types-cjs/form/DateTimeInputBase.d.ts +17 -3
  45. package/dist/types-cjs/form/File.d.ts +6 -0
  46. package/dist/types-cjs/form/FormContext.d.ts +39 -7
  47. package/dist/types-cjs/form/Input.d.ts +21 -4
  48. package/dist/types-cjs/form/InputBase.d.ts +5 -2
  49. package/dist/types-cjs/form/Radios.d.ts +7 -0
  50. package/dist/types-cjs/form/Rate.d.ts +7 -0
  51. package/dist/types-cjs/form/Select.d.ts +13 -2
  52. package/dist/types-cjs/form/Slider.d.ts +7 -0
  53. package/dist/types-cjs/form/Taginput.d.ts +6 -0
  54. package/dist/types-cjs/form/TextArea.d.ts +9 -2
  55. package/dist/types-cjs/form/TextAreaBase.d.ts +12 -3
  56. package/dist/types-cjs/form/TimeInput.d.ts +28 -3
  57. package/dist/types-cjs/form/TimeInputBase.d.ts +21 -4
  58. package/dist/types-cjs/form/_pickerInternals/Calendar.d.ts +17 -2
  59. package/dist/types-cjs/form/_pickerInternals/PickerPopover.d.ts +6 -0
  60. package/dist/types-cjs/form/_pickerInternals/dateUtils.d.ts +17 -0
  61. package/dist/types-cjs/form/controlLoading.d.ts +4 -0
  62. package/dist/types-cjs/helpers/Theme.d.ts +13 -4
  63. package/dist/types-cjs/helpers/portal.d.ts +2 -1
  64. package/dist/types-cjs/helpers/useAnchoredPosition.d.ts +10 -1
  65. package/dist/types-cjs/helpers/useFocusTrap.d.ts +13 -5
  66. package/dist/types-cjs/helpers/useOtherClasses.d.ts +13 -1
  67. package/dist/versions/bestax-no-dark-mode.css +1 -1
  68. package/dist/versions/bestax-no-dark-mode.css.map +1 -1
  69. package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
  70. package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
  71. package/dist/versions/bestax-no-helpers.css +1 -1
  72. package/dist/versions/bestax-no-helpers.css.map +1 -1
  73. package/dist/versions/bestax-prefixed.css +1 -1
  74. package/dist/versions/bestax-prefixed.css.map +1 -1
  75. package/package.json +1 -1
  76. package/src/scss/elements/_index.scss +2 -0
  77. package/src/scss/elements/_progress.scss +17 -0
  78. package/src/scss/elements/_skeleton.scss +21 -0
  79. package/src/scss/form/_datetimeinput.scss +9 -0
  80. package/src/scss/form/_picker-popover.scss +23 -4
  81. package/src/scss/form/_rate.scss +3 -1
  82. package/src/scss/form/_timeinput.scss +12 -2
@@ -40,24 +40,43 @@ $picker-trigger-hover-color: cv.getVar('text-strong') !default;
40
40
  animation: picker-popover-fade-in
41
41
  cv.getVar('picker-popover-animation-duration') ease;
42
42
 
43
+ // The gap is a margin on the side facing the anchor, as on Popover, so the
44
+ // positioning hook can read it off the panel when `auto` picks a corner.
43
45
  &.#{iv.$class-prefix}is-bottom-left {
44
- top: calc(100% + cv.getVar('picker-popover-offset'));
46
+ top: 100%;
45
47
  left: 0;
48
+ margin-top: cv.getVar('picker-popover-offset');
46
49
  }
47
50
  &.#{iv.$class-prefix}is-bottom-right {
48
- top: calc(100% + cv.getVar('picker-popover-offset'));
51
+ top: 100%;
49
52
  right: 0;
53
+ margin-top: cv.getVar('picker-popover-offset');
50
54
  }
51
55
  &.#{iv.$class-prefix}is-top-left {
52
- bottom: calc(100% + cv.getVar('picker-popover-offset'));
56
+ bottom: 100%;
53
57
  left: 0;
58
+ margin-bottom: cv.getVar('picker-popover-offset');
54
59
  }
55
60
  &.#{iv.$class-prefix}is-top-right {
56
- bottom: calc(100% + cv.getVar('picker-popover-offset'));
61
+ bottom: 100%;
57
62
  right: 0;
63
+ margin-bottom: cv.getVar('picker-popover-offset');
58
64
  }
65
+ // Portaled: fixed to the viewport at the top and left the positioning hook
66
+ // sets inline, so the corner's own right and bottom must not apply. Left
67
+ // in, `right: 0` stretches the panel to the viewport's right edge and the
68
+ // top corners' `bottom` collapses it to its padding. The coordinates are
69
+ // the anchor's edge, so a panel above it pulls up by the gap instead.
59
70
  &.#{iv.$class-prefix}is-portal {
60
71
  position: fixed;
72
+ right: auto;
73
+ bottom: auto;
74
+
75
+ &.#{iv.$class-prefix}is-top-left,
76
+ &.#{iv.$class-prefix}is-top-right {
77
+ margin-top: calc(-1 * #{cv.getVar('picker-popover-offset')});
78
+ margin-bottom: 0;
79
+ }
61
80
  }
62
81
  }
63
82
 
@@ -299,9 +299,11 @@ $rate-pop-scale: 1.2 !default;
299
299
  }
300
300
 
301
301
  // Reduced motion
302
+ // The pop is set on `.rate-item.is-active`, which is more specific than the
303
+ // rule here, so the stop is `!important` to win over it.
302
304
  @media (prefers-reduced-motion: reduce) {
303
305
  .#{iv.$class-prefix}rate-item {
304
306
  transition: none;
305
- animation: none;
307
+ animation: none !important;
306
308
  }
307
309
  }
@@ -342,8 +342,13 @@ $timeinput-footer-padding: 0.5rem 0 0 !default;
342
342
  // Wide bottom-anchored popover when it contains a TimeInput panel — the
343
343
  // OS-native picker on iOS occupies almost the full screen width with the
344
344
  // wheels centred, so we mirror that. `:has()` is supported on iOS 15.4+,
345
- // Safari 15.4+, and all current Chromium / Firefox.
346
- .#{iv.$class-prefix}picker-popover:has(.#{iv.$class-prefix}timeinput-panel) {
345
+ // Safari 15.4+, and all current Chromium / Firefox. A portaled panel is
346
+ // left out: the top and left set inline on it beat this rule's, so it
347
+ // would stretch to the insets below rather than move, and it keeps its
348
+ // corner instead.
349
+ .#{iv.$class-prefix}picker-popover:not(.#{iv.$class-prefix}is-portal):has(
350
+ .#{iv.$class-prefix}timeinput-panel
351
+ ) {
347
352
  // Override the popover's registered radius var so border-radius (which
348
353
  // already references `cv.getVar('picker-popover-radius')`) updates
349
354
  // automatically. We use Bulma's `radius-large` scaled by 4 for an
@@ -359,6 +364,11 @@ $timeinput-footer-padding: 0.5rem 0 0 !default;
359
364
  top: auto;
360
365
  width: auto;
361
366
  max-width: none;
367
+ // The sheet sits off the viewport, not the input, so it drops the gap its
368
+ // corner puts in a margin. Kept, a top corner's would lift it off its
369
+ // `bottom`, and `auto` would leave room for a gap the sheet doesn't have.
370
+ margin-top: 0;
371
+ margin-bottom: 0;
362
372
  }
363
373
  .#{iv.$class-prefix}timeinput-panel {
364
374
  display: flex;