@allxsmith/bestax-bulma 5.27.7 → 5.28.0

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 (100) hide show
  1. package/dist/bestax.css +1 -1
  2. package/dist/bestax.css.map +1 -1
  3. package/dist/esm/components/HoverCard.js +127 -0
  4. package/dist/esm/components/HoverCard.js.map +1 -0
  5. package/dist/esm/form/DateInput.js.map +1 -1
  6. package/dist/esm/form/DateInputBase.js +2 -3
  7. package/dist/esm/form/DateInputBase.js.map +1 -1
  8. package/dist/esm/form/DateTimeInput.js.map +1 -1
  9. package/dist/esm/form/DateTimeInputBase.js +2 -3
  10. package/dist/esm/form/DateTimeInputBase.js.map +1 -1
  11. package/dist/esm/form/Field.js +36 -5
  12. package/dist/esm/form/Field.js.map +1 -1
  13. package/dist/esm/form/File.js.map +1 -1
  14. package/dist/esm/form/FormContext.js +53 -9
  15. package/dist/esm/form/FormContext.js.map +1 -1
  16. package/dist/esm/form/Input.js.map +1 -1
  17. package/dist/esm/form/InputBase.js +6 -5
  18. package/dist/esm/form/InputBase.js.map +1 -1
  19. package/dist/esm/form/Numberinput.js.map +1 -1
  20. package/dist/esm/form/Select.js.map +1 -1
  21. package/dist/esm/form/SelectBase.js +7 -5
  22. package/dist/esm/form/SelectBase.js.map +1 -1
  23. package/dist/esm/form/Slider.js.map +1 -1
  24. package/dist/esm/form/Taginput.js.map +1 -1
  25. package/dist/esm/form/TextArea.js.map +1 -1
  26. package/dist/esm/form/TextAreaBase.js +6 -5
  27. package/dist/esm/form/TextAreaBase.js.map +1 -1
  28. package/dist/esm/form/TimeInput.js.map +1 -1
  29. package/dist/esm/form/TimeInputBase.js +2 -3
  30. package/dist/esm/form/TimeInputBase.js.map +1 -1
  31. package/dist/esm/form/useAutoLabelId.js +8 -3
  32. package/dist/esm/form/useAutoLabelId.js.map +1 -1
  33. package/dist/esm/helpers/Theme.js +87 -17
  34. package/dist/esm/helpers/Theme.js.map +1 -1
  35. package/dist/esm/helpers/devWarnings.js +8 -3
  36. package/dist/esm/helpers/devWarnings.js.map +1 -1
  37. package/dist/esm/helpers/useFlexboxClasses.js +1 -1
  38. package/dist/esm/helpers/useFocusTrap.js +2 -1
  39. package/dist/esm/helpers/useFocusTrap.js.map +1 -1
  40. package/dist/esm/helpers/useHoverOpen.js +390 -0
  41. package/dist/esm/helpers/useHoverOpen.js.map +1 -0
  42. package/dist/esm/helpers/useOtherClasses.js +1 -1
  43. package/dist/esm/helpers/useSpacingClasses.js +1 -1
  44. package/dist/esm/helpers/useTypographyClasses.js +1 -1
  45. package/dist/esm/helpers/useVisibilityClasses.js +1 -1
  46. package/dist/extras.css +1 -1
  47. package/dist/extras.css.map +1 -1
  48. package/dist/index.cjs +700 -48
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.esm.js +1 -0
  51. package/dist/index.esm.js.map +1 -1
  52. package/dist/types/components/HoverCard.d.ts +136 -0
  53. package/dist/types/form/DateInput.d.ts +1 -1
  54. package/dist/types/form/DateTimeInput.d.ts +1 -1
  55. package/dist/types/form/Field.d.ts +2 -2
  56. package/dist/types/form/File.d.ts +1 -1
  57. package/dist/types/form/FormContext.d.ts +47 -8
  58. package/dist/types/form/Input.d.ts +1 -1
  59. package/dist/types/form/Numberinput.d.ts +1 -1
  60. package/dist/types/form/Select.d.ts +1 -1
  61. package/dist/types/form/Slider.d.ts +1 -1
  62. package/dist/types/form/Taginput.d.ts +1 -1
  63. package/dist/types/form/TextArea.d.ts +1 -1
  64. package/dist/types/form/TimeInput.d.ts +1 -1
  65. package/dist/types/form/useAutoLabelId.d.ts +4 -2
  66. package/dist/types/helpers/Theme.d.ts +15 -1
  67. package/dist/types/helpers/devWarnings.d.ts +8 -0
  68. package/dist/types/helpers/useFocusTrap.d.ts +9 -0
  69. package/dist/types/helpers/useHoverOpen.d.ts +98 -0
  70. package/dist/types/index.d.ts +1 -0
  71. package/dist/types-cjs/components/HoverCard.d.ts +136 -0
  72. package/dist/types-cjs/form/DateInput.d.ts +1 -1
  73. package/dist/types-cjs/form/DateTimeInput.d.ts +1 -1
  74. package/dist/types-cjs/form/Field.d.ts +2 -2
  75. package/dist/types-cjs/form/File.d.ts +1 -1
  76. package/dist/types-cjs/form/FormContext.d.ts +47 -8
  77. package/dist/types-cjs/form/Input.d.ts +1 -1
  78. package/dist/types-cjs/form/Numberinput.d.ts +1 -1
  79. package/dist/types-cjs/form/Select.d.ts +1 -1
  80. package/dist/types-cjs/form/Slider.d.ts +1 -1
  81. package/dist/types-cjs/form/Taginput.d.ts +1 -1
  82. package/dist/types-cjs/form/TextArea.d.ts +1 -1
  83. package/dist/types-cjs/form/TimeInput.d.ts +1 -1
  84. package/dist/types-cjs/form/useAutoLabelId.d.ts +4 -2
  85. package/dist/types-cjs/helpers/Theme.d.ts +15 -1
  86. package/dist/types-cjs/helpers/devWarnings.d.ts +8 -0
  87. package/dist/types-cjs/helpers/useFocusTrap.d.ts +9 -0
  88. package/dist/types-cjs/helpers/useHoverOpen.d.ts +98 -0
  89. package/dist/types-cjs/index.d.ts +1 -0
  90. package/dist/versions/bestax-no-dark-mode.css +1 -1
  91. package/dist/versions/bestax-no-dark-mode.css.map +1 -1
  92. package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
  93. package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
  94. package/dist/versions/bestax-no-helpers.css +1 -1
  95. package/dist/versions/bestax-no-helpers.css.map +1 -1
  96. package/dist/versions/bestax-prefixed.css +1 -1
  97. package/dist/versions/bestax-prefixed.css.map +1 -1
  98. package/package.json +18 -18
  99. package/src/scss/components/_hovercard.scss +118 -0
  100. package/src/scss/components/_index.scss +1 -0
@@ -0,0 +1,118 @@
1
+ // HoverCard Component Styles
2
+ // A card that opens on hover or keyboard focus, anchored to its trigger
3
+
4
+ @use 'bulma/sass/utilities/initial-variables' as iv;
5
+ @use 'bulma/sass/utilities/css-variables' as cv;
6
+ @use '../variables' as *;
7
+
8
+ // HoverCard-specific SCSS variables
9
+ $hover-card-z-index: $extras-z-index-tooltip !default;
10
+ $hover-card-background: cv.getVar('scheme-main') !default;
11
+ $hover-card-color: cv.getVar('text') !default;
12
+ $hover-card-border-color: cv.getVar('border-weak') !default;
13
+ $hover-card-radius: cv.getVar('radius-large') !default;
14
+ $hover-card-shadow: cv.getVar('shadow') !default;
15
+ $hover-card-padding: 1rem !default;
16
+ $hover-card-min-width: 12rem !default;
17
+ $hover-card-max-width: min(20rem, calc(100vw - 2rem)) !default;
18
+ $hover-card-offset: 0.25rem !default;
19
+ $hover-card-animation-duration: 0.15s !default;
20
+
21
+ // Registered on the card rather than the wrapper: a card rendered with
22
+ // `appendToBody` sits at the end of <body>, outside the wrapper, and would
23
+ // inherit nothing from it.
24
+ .#{iv.$class-prefix}hover-card-content {
25
+ @include cv.register-vars(
26
+ (
27
+ 'hover-card-z-index': #{$hover-card-z-index},
28
+ 'hover-card-background': #{$hover-card-background},
29
+ 'hover-card-color': #{$hover-card-color},
30
+ 'hover-card-border-color': #{$hover-card-border-color},
31
+ 'hover-card-radius': #{$hover-card-radius},
32
+ 'hover-card-shadow': #{$hover-card-shadow},
33
+ 'hover-card-padding': #{$hover-card-padding},
34
+ 'hover-card-min-width': #{$hover-card-min-width},
35
+ 'hover-card-max-width': #{$hover-card-max-width},
36
+ 'hover-card-offset': #{$hover-card-offset},
37
+ 'hover-card-animation-duration': #{$hover-card-animation-duration},
38
+ )
39
+ );
40
+ }
41
+
42
+ // The wrapper around the trigger, which an inline card is placed against.
43
+ // Inline-block, so it sits on the line of text around it and still holds a
44
+ // trigger taller than the text, such as a button.
45
+ .#{iv.$class-prefix}hover-card {
46
+ position: relative;
47
+ display: inline-block;
48
+ }
49
+
50
+ .#{iv.$class-prefix}hover-card-content {
51
+ position: absolute;
52
+ z-index: cv.getVar('hover-card-z-index');
53
+ // As wide as the content wants, within the bounds. An inline card would
54
+ // otherwise shrink to the trigger's width, and a portaled one wouldn't.
55
+ width: max-content;
56
+ min-width: cv.getVar('hover-card-min-width');
57
+ max-width: cv.getVar('hover-card-max-width');
58
+ padding: cv.getVar('hover-card-padding');
59
+ background-color: cv.getVar('hover-card-background');
60
+ color: cv.getVar('hover-card-color');
61
+ border: 1px solid cv.getVar('hover-card-border-color');
62
+ border-radius: cv.getVar('hover-card-radius');
63
+ box-shadow: cv.getVar('hover-card-shadow');
64
+ text-align: start;
65
+ // A trigger in a line that doesn't wrap mustn't stop the card wrapping.
66
+ white-space: normal;
67
+ animation: hover-card-fade-in cv.getVar('hover-card-animation-duration') ease;
68
+
69
+ &.#{iv.$class-prefix}is-bottom-left,
70
+ &.#{iv.$class-prefix}is-bottom-right {
71
+ top: 100%;
72
+ margin-top: cv.getVar('hover-card-offset');
73
+ }
74
+ &.#{iv.$class-prefix}is-top-left,
75
+ &.#{iv.$class-prefix}is-top-right {
76
+ bottom: 100%;
77
+ margin-bottom: cv.getVar('hover-card-offset');
78
+ }
79
+ &.#{iv.$class-prefix}is-bottom-left,
80
+ &.#{iv.$class-prefix}is-top-left {
81
+ left: 0;
82
+ }
83
+ &.#{iv.$class-prefix}is-bottom-right,
84
+ &.#{iv.$class-prefix}is-top-right {
85
+ right: 0;
86
+ }
87
+
88
+ // Portaled: fixed to the viewport at the trigger's edge, which the
89
+ // component sets inline, so only the gap comes from here.
90
+ &.#{iv.$class-prefix}is-portal {
91
+ position: fixed;
92
+ right: auto;
93
+ bottom: auto;
94
+
95
+ &.#{iv.$class-prefix}is-top-left,
96
+ &.#{iv.$class-prefix}is-top-right {
97
+ margin-top: calc(-1 * #{cv.getVar('hover-card-offset')});
98
+ margin-bottom: 0;
99
+ }
100
+ }
101
+ }
102
+
103
+ @keyframes hover-card-fade-in {
104
+ from {
105
+ opacity: 0;
106
+ transform: translateY(-2px);
107
+ }
108
+ to {
109
+ opacity: 1;
110
+ transform: translateY(0);
111
+ }
112
+ }
113
+
114
+ @media (prefers-reduced-motion: reduce) {
115
+ .#{iv.$class-prefix}hover-card-content {
116
+ animation: none;
117
+ }
118
+ }
@@ -6,6 +6,7 @@
6
6
  @use 'collapse';
7
7
  @use 'tooltip';
8
8
  @use 'popover';
9
+ @use 'hovercard';
9
10
  @use 'steps';
10
11
  @use 'sidebar';
11
12
  @use 'toast';