@allxsmith/bestax-bulma 5.27.8 → 5.29.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.
- package/dist/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/esm/components/Dialog.js +8 -4
- package/dist/esm/components/Dialog.js.map +1 -1
- package/dist/esm/components/HoverCard.js +127 -0
- package/dist/esm/components/HoverCard.js.map +1 -0
- package/dist/esm/components/Modal.js +19 -11
- package/dist/esm/components/Modal.js.map +1 -1
- package/dist/esm/components/Popover.js.map +1 -1
- package/dist/esm/components/Sidebar.js +12 -3
- package/dist/esm/components/Sidebar.js.map +1 -1
- package/dist/esm/components/Toast.js +5 -3
- package/dist/esm/components/Toast.js.map +1 -1
- package/dist/esm/elements/Notification.js +3 -1
- package/dist/esm/elements/Notification.js.map +1 -1
- package/dist/esm/form/DateInput.js.map +1 -1
- package/dist/esm/form/DateInputBase.js.map +1 -1
- package/dist/esm/form/DateRangeInputBase.js.map +1 -1
- package/dist/esm/form/DateTimeInput.js.map +1 -1
- package/dist/esm/form/DateTimeInputBase.js.map +1 -1
- package/dist/esm/form/Field.js.map +1 -1
- package/dist/esm/form/File.js.map +1 -1
- package/dist/esm/form/Input.js.map +1 -1
- package/dist/esm/form/Numberinput.js.map +1 -1
- package/dist/esm/form/Select.js.map +1 -1
- package/dist/esm/form/Slider.js.map +1 -1
- package/dist/esm/form/Taginput.js.map +1 -1
- package/dist/esm/form/TextArea.js.map +1 -1
- package/dist/esm/form/TimeInput.js.map +1 -1
- package/dist/esm/form/TimeInputBase.js.map +1 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js +3 -1
- package/dist/esm/form/_pickerInternals/PickerPopover.js.map +1 -1
- package/dist/esm/helpers/Config.js +5 -2
- package/dist/esm/helpers/Config.js.map +1 -1
- package/dist/esm/helpers/portal.js +30 -5
- package/dist/esm/helpers/portal.js.map +1 -1
- package/dist/esm/helpers/useFocusTrap.js +2 -1
- package/dist/esm/helpers/useFocusTrap.js.map +1 -1
- package/dist/esm/helpers/useHoverOpen.js +390 -0
- package/dist/esm/helpers/useHoverOpen.js.map +1 -0
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +574 -27
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/types/components/HoverCard.d.ts +138 -0
- package/dist/types/components/Modal.d.ts +2 -1
- package/dist/types/components/Popover.d.ts +8 -7
- package/dist/types/form/DateInput.d.ts +1 -1
- package/dist/types/form/DateInputBase.d.ts +4 -1
- package/dist/types/form/DateRangeInputBase.d.ts +4 -1
- package/dist/types/form/DateTimeInput.d.ts +1 -1
- package/dist/types/form/DateTimeInputBase.d.ts +4 -1
- package/dist/types/form/Field.d.ts +1 -1
- package/dist/types/form/File.d.ts +1 -1
- package/dist/types/form/Input.d.ts +1 -1
- package/dist/types/form/Numberinput.d.ts +1 -1
- package/dist/types/form/Select.d.ts +1 -1
- package/dist/types/form/Slider.d.ts +1 -1
- package/dist/types/form/Taginput.d.ts +1 -1
- package/dist/types/form/TextArea.d.ts +1 -1
- package/dist/types/form/TimeInput.d.ts +1 -1
- package/dist/types/form/TimeInputBase.d.ts +2 -1
- package/dist/types/helpers/Config.d.ts +34 -3
- package/dist/types/helpers/portal.d.ts +27 -5
- package/dist/types/helpers/useFocusTrap.d.ts +9 -0
- package/dist/types/helpers/useHoverOpen.d.ts +98 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types-cjs/components/HoverCard.d.ts +138 -0
- package/dist/types-cjs/components/Modal.d.ts +2 -1
- package/dist/types-cjs/components/Popover.d.ts +8 -7
- package/dist/types-cjs/form/DateInput.d.ts +1 -1
- package/dist/types-cjs/form/DateInputBase.d.ts +4 -1
- package/dist/types-cjs/form/DateRangeInputBase.d.ts +4 -1
- package/dist/types-cjs/form/DateTimeInput.d.ts +1 -1
- package/dist/types-cjs/form/DateTimeInputBase.d.ts +4 -1
- package/dist/types-cjs/form/Field.d.ts +1 -1
- package/dist/types-cjs/form/File.d.ts +1 -1
- package/dist/types-cjs/form/Input.d.ts +1 -1
- package/dist/types-cjs/form/Numberinput.d.ts +1 -1
- package/dist/types-cjs/form/Select.d.ts +1 -1
- package/dist/types-cjs/form/Slider.d.ts +1 -1
- package/dist/types-cjs/form/Taginput.d.ts +1 -1
- package/dist/types-cjs/form/TextArea.d.ts +1 -1
- package/dist/types-cjs/form/TimeInput.d.ts +1 -1
- package/dist/types-cjs/form/TimeInputBase.d.ts +2 -1
- package/dist/types-cjs/helpers/Config.d.ts +34 -3
- package/dist/types-cjs/helpers/portal.d.ts +27 -5
- package/dist/types-cjs/helpers/useFocusTrap.d.ts +9 -0
- package/dist/types-cjs/helpers/useHoverOpen.d.ts +98 -0
- package/dist/types-cjs/index.d.ts +1 -0
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +2 -2
- package/src/scss/components/_hovercard.scss +118 -0
- 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
|
+
}
|