@allxsmith/bestax-bulma 2.6.1 → 3.0.1

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 (138) hide show
  1. package/README.md +2 -2
  2. package/dist/bestax.css +3 -0
  3. package/dist/bestax.css.map +1 -0
  4. package/dist/bestax.js +1 -0
  5. package/dist/extras.css +3 -0
  6. package/dist/extras.css.map +1 -0
  7. package/dist/extras.js +1 -0
  8. package/dist/index.cjs.js +6214 -647
  9. package/dist/index.cjs.js.map +1 -1
  10. package/dist/index.esm.js +6154 -649
  11. package/dist/index.esm.js.map +1 -1
  12. package/dist/types/components/Carousel.d.ts +34 -0
  13. package/dist/types/components/Collapse.d.ts +17 -0
  14. package/dist/types/components/Dialog.d.ts +47 -0
  15. package/dist/types/components/Loading.d.ts +18 -0
  16. package/dist/types/components/Navbar.d.ts +10 -0
  17. package/dist/types/components/Panel.d.ts +2 -4
  18. package/dist/types/components/Sidebar.d.ts +37 -0
  19. package/dist/types/components/Steps.d.ts +45 -0
  20. package/dist/types/components/Tabs.d.ts +42 -6
  21. package/dist/types/components/Toast.d.ts +46 -0
  22. package/dist/types/components/Tooltip.d.ts +22 -0
  23. package/dist/types/elements/Button.d.ts +1 -1
  24. package/dist/types/elements/Code.d.ts +9 -0
  25. package/dist/types/elements/Divider.d.ts +7 -0
  26. package/dist/types/elements/Emphasis.d.ts +9 -0
  27. package/dist/types/elements/Figure.d.ts +17 -0
  28. package/dist/types/elements/Icon.d.ts +1 -0
  29. package/dist/types/elements/Link.d.ts +10 -0
  30. package/dist/types/elements/LinkButton.d.ts +8 -0
  31. package/dist/types/elements/ListItem.d.ts +9 -0
  32. package/dist/types/elements/Notification.d.ts +31 -0
  33. package/dist/types/elements/OrderedList.d.ts +9 -0
  34. package/dist/types/elements/Paragraph.d.ts +9 -0
  35. package/dist/types/elements/Pre.d.ts +9 -0
  36. package/dist/types/elements/Span.d.ts +9 -0
  37. package/dist/types/elements/Strong.d.ts +9 -0
  38. package/dist/types/elements/UnorderedList.d.ts +9 -0
  39. package/dist/types/form/Autocomplete.d.ts +42 -0
  40. package/dist/types/form/Checkbox.d.ts +7 -2
  41. package/dist/types/form/Checkboxes.d.ts +6 -1
  42. package/dist/types/form/DateInput.d.ts +26 -0
  43. package/dist/types/form/DateInputBase.d.ts +42 -0
  44. package/dist/types/form/DateTimeInput.d.ts +26 -0
  45. package/dist/types/form/DateTimeInputBase.d.ts +50 -0
  46. package/dist/types/form/Field.d.ts +2 -1
  47. package/dist/types/form/File.d.ts +3 -2
  48. package/dist/types/form/FormContext.d.ts +22 -0
  49. package/dist/types/form/Input.d.ts +22 -11
  50. package/dist/types/form/InputBase.d.ts +16 -0
  51. package/dist/types/form/Numberinput.d.ts +30 -0
  52. package/dist/types/form/Radio.d.ts +7 -2
  53. package/dist/types/form/Radios.d.ts +6 -1
  54. package/dist/types/form/Rate.d.ts +38 -0
  55. package/dist/types/form/Select.d.ts +18 -11
  56. package/dist/types/form/SelectBase.d.ts +19 -0
  57. package/dist/types/form/Slider.d.ts +49 -0
  58. package/dist/types/form/Switch.d.ts +17 -0
  59. package/dist/types/form/Taginput.d.ts +54 -0
  60. package/dist/types/form/TextArea.d.ts +13 -14
  61. package/dist/types/form/TextAreaBase.d.ts +19 -0
  62. package/dist/types/form/TimeInput.d.ts +26 -0
  63. package/dist/types/form/TimeInputBase.d.ts +44 -0
  64. package/dist/types/form/_pickerInternals/Calendar.d.ts +26 -0
  65. package/dist/types/form/_pickerInternals/PickerPopover.d.ts +20 -0
  66. package/dist/types/form/_pickerInternals/TimeWheels.d.ts +29 -0
  67. package/dist/types/form/_pickerInternals/audioTick.d.ts +3 -0
  68. package/dist/types/form/_pickerInternals/dateUtils.d.ts +39 -0
  69. package/dist/types/form/_pickerInternals/formatters.d.ts +13 -0
  70. package/dist/types/form/_pickerInternals/haptics.d.ts +1 -0
  71. package/dist/types/form/_pickerInternals/pickerTypes.d.ts +31 -0
  72. package/dist/types/form/_pickerInternals/segmentMap.d.ts +20 -0
  73. package/dist/types/form/_pickerInternals/useFocusTrap.d.ts +7 -0
  74. package/dist/types/form/_pickerInternals/useNativeMobilePicker.d.ts +10 -0
  75. package/dist/types/form/_pickerInternals/useSegmentedEntry.d.ts +45 -0
  76. package/dist/types/form/fieldProps.d.ts +12 -0
  77. package/dist/types/helpers/bulmaClassHelpers.d.ts +35 -0
  78. package/dist/types/helpers/useBulmaClasses.d.ts +16 -83
  79. package/dist/types/helpers/useColorClasses.d.ts +8 -0
  80. package/dist/types/helpers/useFlexboxClasses.d.ts +12 -0
  81. package/dist/types/helpers/useOtherClasses.d.ts +15 -0
  82. package/dist/types/helpers/useSpacingClasses.d.ts +18 -0
  83. package/dist/types/helpers/useTypographyClasses.d.ts +19 -0
  84. package/dist/types/helpers/useVisibilityClasses.d.ts +10 -0
  85. package/dist/types/index.d.ts +53 -3
  86. package/dist/versions/bestax-bulma-prefixed.css +3 -0
  87. package/dist/versions/bestax-bulma-prefixed.css.map +1 -0
  88. package/dist/versions/bestax-bulma-prefixed.js +1 -0
  89. package/dist/versions/bestax-no-dark-mode.css +3 -0
  90. package/dist/versions/bestax-no-dark-mode.css.map +1 -0
  91. package/dist/versions/bestax-no-dark-mode.js +1 -0
  92. package/dist/versions/bestax-no-helpers-prefixed.css +3 -0
  93. package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -0
  94. package/dist/versions/bestax-no-helpers-prefixed.js +1 -0
  95. package/dist/versions/bestax-no-helpers.css +3 -0
  96. package/dist/versions/bestax-no-helpers.css.map +1 -0
  97. package/dist/versions/bestax-no-helpers.js +1 -0
  98. package/dist/versions/bestax-prefixed.css +3 -0
  99. package/dist/versions/bestax-prefixed.css.map +1 -0
  100. package/dist/versions/bestax-prefixed.js +1 -0
  101. package/package.json +100 -21
  102. package/src/scss/_mixins.scss +215 -0
  103. package/src/scss/_variables.scss +94 -0
  104. package/src/scss/bestax.scss +18 -0
  105. package/src/scss/components/_carousel.scss +580 -0
  106. package/src/scss/components/_collapse.scss +126 -0
  107. package/src/scss/components/_dialog.scss +134 -0
  108. package/src/scss/components/_index.scss +13 -0
  109. package/src/scss/components/_loading.scss +231 -0
  110. package/src/scss/components/_sidebar.scss +347 -0
  111. package/src/scss/components/_steps.scss +459 -0
  112. package/src/scss/components/_tabs.scss +147 -0
  113. package/src/scss/components/_toast.scss +244 -0
  114. package/src/scss/components/_tooltip.scss +250 -0
  115. package/src/scss/elements/_index.scss +5 -0
  116. package/src/scss/elements/_linkbutton.scss +77 -0
  117. package/src/scss/extras.scss +24 -0
  118. package/src/scss/form/_autocomplete.scss +261 -0
  119. package/src/scss/form/_checkbox.scss +217 -0
  120. package/src/scss/form/_dateinput.scss +292 -0
  121. package/src/scss/form/_datetimeinput.scss +191 -0
  122. package/src/scss/form/_index.scss +16 -0
  123. package/src/scss/form/_numberinput.scss +176 -0
  124. package/src/scss/form/_picker-popover.scss +185 -0
  125. package/src/scss/form/_radio.scss +196 -0
  126. package/src/scss/form/_rate.scss +307 -0
  127. package/src/scss/form/_slider.scss +630 -0
  128. package/src/scss/form/_switch.scss +314 -0
  129. package/src/scss/form/_taginput.scss +356 -0
  130. package/src/scss/form/_timeinput.scss +374 -0
  131. package/src/scss/helpers/_cursor.scss +5 -0
  132. package/src/scss/helpers/_index.scss +2 -0
  133. package/src/scss/helpers/_sizing.scss +5 -0
  134. package/src/scss/versions/bestax-bulma-prefixed.scss +15 -0
  135. package/src/scss/versions/bestax-no-dark-mode.scss +32 -0
  136. package/src/scss/versions/bestax-no-helpers-prefixed.scss +22 -0
  137. package/src/scss/versions/bestax-no-helpers.scss +23 -0
  138. package/src/scss/versions/bestax-prefixed.scss +15 -0
@@ -0,0 +1,347 @@
1
+ // Sidebar Component Styles
2
+ // A slide-out navigation panel
3
+
4
+ @use "bulma/sass/utilities/initial-variables" as iv;
5
+ @use "bulma/sass/utilities/css-variables" as cv;
6
+ @use '../variables' as *;
7
+ @use '../mixins' as *;
8
+
9
+ // Sidebar-specific SCSS variables
10
+ $sidebar-width: 260px !default;
11
+ $sidebar-width-tablet: 300px !default;
12
+ $sidebar-width-narrow: 200px !default;
13
+ $sidebar-width-wide: 400px !default;
14
+ $sidebar-width-mini: 60px !default;
15
+ $sidebar-z-index: $extras-z-index-fixed !default;
16
+ $sidebar-background: cv.getVar("scheme-main") !default;
17
+ $sidebar-shadow: 0 2px 8px hsla(0, 0%, 0%, 0.15) !default;
18
+ $sidebar-transition-duration: 0.3s !default;
19
+
20
+ // Overlay
21
+ $sidebar-overlay-background: hsla(0, 0%, 4%, 0.86) !default;
22
+ $sidebar-overlay-z-index: $extras-z-index-fixed - 1 !default;
23
+
24
+ // Content
25
+ $sidebar-content-padding: 1rem !default;
26
+ $sidebar-scrollbar-width: 6px !default;
27
+ $sidebar-scrollbar-color: cv.getVar("grey-light") !default;
28
+ $sidebar-scrollbar-color-hover: cv.getVar("grey") !default;
29
+
30
+ // Header
31
+ $sidebar-header-padding: 0.75rem 1rem !default;
32
+ $sidebar-header-border-color: cv.getVar("border") !default;
33
+ $sidebar-header-margin-bottom: 1rem !default;
34
+
35
+ // Title
36
+ $sidebar-title-size: 1.25rem !default;
37
+ $sidebar-title-weight: cv.getVar("weight-semibold") !default;
38
+ $sidebar-title-color: cv.getVar("text-strong") !default;
39
+
40
+ // Close button
41
+ $sidebar-close-size: 1.75rem !default;
42
+ $sidebar-close-color: cv.getVar("text") !default;
43
+ $sidebar-close-line-width: 2px !default;
44
+ $sidebar-close-hover-background: cv.getVar("scheme-main-ter") !default;
45
+ $sidebar-close-radius: cv.getVar("radius") !default;
46
+
47
+ // Footer
48
+ $sidebar-footer-padding: 0.75rem 1rem !default;
49
+ $sidebar-footer-border-color: cv.getVar("border") !default;
50
+ $sidebar-footer-margin-top: 1rem !default;
51
+
52
+ // Menu integration
53
+ $sidebar-menu-item-padding: 0.5rem 0.75rem !default;
54
+ $sidebar-menu-item-radius: cv.getVar("radius") !default;
55
+ $sidebar-menu-item-hover-background: cv.getVar("scheme-main-bis") !default;
56
+ $sidebar-menu-item-active-background: cv.getVar("link") !default;
57
+ $sidebar-menu-item-active-color: cv.getVar("link-invert") !default;
58
+
59
+ // Static variant
60
+ $sidebar-static-border-color: cv.getVar("border") !default;
61
+
62
+ // Register CSS variables
63
+ .#{iv.$class-prefix}sidebar {
64
+ @include cv.register-vars(
65
+ (
66
+ "sidebar-width": #{$sidebar-width},
67
+ "sidebar-background": #{$sidebar-background},
68
+ "sidebar-shadow": #{$sidebar-shadow},
69
+ "sidebar-transition-duration": #{$sidebar-transition-duration},
70
+ "sidebar-content-padding": #{$sidebar-content-padding},
71
+ "sidebar-scrollbar-width": #{$sidebar-scrollbar-width},
72
+ "sidebar-scrollbar-color": #{$sidebar-scrollbar-color},
73
+ "sidebar-scrollbar-color-hover": #{$sidebar-scrollbar-color-hover},
74
+ "sidebar-header-padding": #{$sidebar-header-padding},
75
+ "sidebar-header-border-color": #{$sidebar-header-border-color},
76
+ "sidebar-header-margin-bottom": #{$sidebar-header-margin-bottom},
77
+ "sidebar-title-size": #{$sidebar-title-size},
78
+ "sidebar-title-weight": #{$sidebar-title-weight},
79
+ "sidebar-title-color": #{$sidebar-title-color},
80
+ "sidebar-close-size": #{$sidebar-close-size},
81
+ "sidebar-close-color": #{$sidebar-close-color},
82
+ "sidebar-close-line-width": #{$sidebar-close-line-width},
83
+ "sidebar-close-hover-background": #{$sidebar-close-hover-background},
84
+ "sidebar-close-radius": #{$sidebar-close-radius},
85
+ "sidebar-footer-padding": #{$sidebar-footer-padding},
86
+ "sidebar-footer-border-color": #{$sidebar-footer-border-color},
87
+ "sidebar-footer-margin-top": #{$sidebar-footer-margin-top},
88
+ "sidebar-menu-item-padding": #{$sidebar-menu-item-padding},
89
+ "sidebar-menu-item-radius": #{$sidebar-menu-item-radius},
90
+ "sidebar-menu-item-hover-background": #{$sidebar-menu-item-hover-background},
91
+ "sidebar-menu-item-active-background": #{$sidebar-menu-item-active-background},
92
+ "sidebar-menu-item-active-color": #{$sidebar-menu-item-active-color},
93
+ "sidebar-static-border-color": #{$sidebar-static-border-color},
94
+ )
95
+ );
96
+ }
97
+
98
+ // Sidebar background overlay
99
+ .#{iv.$class-prefix}sidebar-background {
100
+ @include cv.register-vars(
101
+ (
102
+ "sidebar-overlay-background": #{$sidebar-overlay-background},
103
+ "sidebar-transition-duration": #{$sidebar-transition-duration},
104
+ )
105
+ );
106
+ @include extras-overlay;
107
+ background-color: cv.getVar("sidebar-overlay-background");
108
+ opacity: 0;
109
+ visibility: hidden;
110
+ z-index: $sidebar-overlay-z-index;
111
+ @include extras-transition(opacity, visibility);
112
+ transition-duration: cv.getVar("sidebar-transition-duration");
113
+
114
+ &.#{iv.$class-prefix}is-active {
115
+ opacity: 1;
116
+ visibility: visible;
117
+ }
118
+ }
119
+
120
+ // Sidebar panel
121
+ .#{iv.$class-prefix}sidebar {
122
+ position: fixed;
123
+ top: 0;
124
+ bottom: 0;
125
+ z-index: $sidebar-z-index;
126
+ width: cv.getVar("sidebar-width");
127
+ max-width: 100%;
128
+ background-color: cv.getVar("sidebar-background");
129
+ box-shadow: cv.getVar("sidebar-shadow");
130
+ transform: translateX(-100%);
131
+ @include extras-transition(transform);
132
+ transition-duration: cv.getVar("sidebar-transition-duration");
133
+ overflow: hidden;
134
+ outline: none;
135
+
136
+ // Left position (default)
137
+ &.#{iv.$class-prefix}is-left {
138
+ left: 0;
139
+ transform: translateX(-100%);
140
+
141
+ &.#{iv.$class-prefix}is-active {
142
+ transform: translateX(0);
143
+ }
144
+ }
145
+
146
+ // Right position
147
+ &.#{iv.$class-prefix}is-right {
148
+ right: 0;
149
+ left: auto;
150
+ transform: translateX(100%);
151
+
152
+ &.#{iv.$class-prefix}is-active {
153
+ transform: translateX(0);
154
+ }
155
+ }
156
+
157
+ // Full width (mobile style)
158
+ &.#{iv.$class-prefix}is-fullwidth {
159
+ width: 100%;
160
+ }
161
+ }
162
+
163
+ // Sidebar content container (structural flex wrapper)
164
+ .#{iv.$class-prefix}sidebar-content {
165
+ height: 100%;
166
+ display: flex;
167
+ flex-direction: column;
168
+ overflow: hidden;
169
+ }
170
+
171
+ // Sidebar body (scrollable content area)
172
+ .#{iv.$class-prefix}sidebar-body {
173
+ flex: 1;
174
+ min-height: 0;
175
+ overflow-y: auto;
176
+ overflow-x: hidden;
177
+ padding: cv.getVar("sidebar-content-padding");
178
+
179
+ // Scrollbar styling
180
+ &::-webkit-scrollbar {
181
+ width: cv.getVar("sidebar-scrollbar-width");
182
+ }
183
+
184
+ &::-webkit-scrollbar-track {
185
+ background: transparent;
186
+ }
187
+
188
+ &::-webkit-scrollbar-thumb {
189
+ background-color: cv.getVar("sidebar-scrollbar-color");
190
+ border-radius: 3px;
191
+
192
+ &:hover {
193
+ background-color: cv.getVar("sidebar-scrollbar-color-hover");
194
+ }
195
+ }
196
+ }
197
+
198
+ // Header section (optional)
199
+ .#{iv.$class-prefix}sidebar-header {
200
+ display: flex;
201
+ align-items: center;
202
+ justify-content: space-between;
203
+ padding: cv.getVar("sidebar-header-padding");
204
+ border-bottom: 1px solid cv.getVar("sidebar-header-border-color");
205
+ margin-bottom: cv.getVar("sidebar-header-margin-bottom");
206
+ }
207
+
208
+ // Title
209
+ .#{iv.$class-prefix}sidebar-title {
210
+ font-size: cv.getVar("sidebar-title-size");
211
+ font-weight: cv.getVar("sidebar-title-weight");
212
+ color: cv.getVar("sidebar-title-color");
213
+ margin: 0;
214
+ }
215
+
216
+ // Close button
217
+ .#{iv.$class-prefix}sidebar-close {
218
+ @include extras-button-reset;
219
+ position: relative;
220
+ display: inline-flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ width: cv.getVar("sidebar-close-size");
224
+ height: cv.getVar("sidebar-close-size");
225
+ font-size: 0;
226
+ border-radius: cv.getVar("sidebar-close-radius");
227
+ @include extras-transition(background-color);
228
+
229
+ &::before,
230
+ &::after {
231
+ content: "";
232
+ position: absolute;
233
+ display: block;
234
+ width: 50%;
235
+ height: cv.getVar("sidebar-close-line-width");
236
+ background-color: cv.getVar("sidebar-close-color");
237
+ top: 50%;
238
+ left: 50%;
239
+ }
240
+
241
+ &::before {
242
+ transform: translate(-50%, -50%) rotate(45deg);
243
+ }
244
+
245
+ &::after {
246
+ transform: translate(-50%, -50%) rotate(-45deg);
247
+ }
248
+
249
+ &:hover {
250
+ background-color: cv.getVar("sidebar-close-hover-background");
251
+ }
252
+ }
253
+
254
+ // Footer section (optional)
255
+ .#{iv.$class-prefix}sidebar-footer {
256
+ padding: cv.getVar("sidebar-footer-padding");
257
+ border-top: 1px solid cv.getVar("sidebar-footer-border-color");
258
+ margin-top: cv.getVar("sidebar-footer-margin-top");
259
+ }
260
+
261
+ // Menu integration
262
+ .#{iv.$class-prefix}sidebar .#{iv.$class-prefix}menu {
263
+ padding: 0;
264
+
265
+ .#{iv.$class-prefix}menu-label {
266
+ padding: 0.5rem 0;
267
+ }
268
+
269
+ .#{iv.$class-prefix}menu-list {
270
+ a {
271
+ padding: cv.getVar("sidebar-menu-item-padding");
272
+ border-radius: cv.getVar("sidebar-menu-item-radius");
273
+
274
+ &:hover {
275
+ background-color: cv.getVar("sidebar-menu-item-hover-background");
276
+ }
277
+
278
+ &.#{iv.$class-prefix}is-active {
279
+ background-color: cv.getVar("sidebar-menu-item-active-background");
280
+ color: cv.getVar("sidebar-menu-item-active-color");
281
+ }
282
+ }
283
+ }
284
+ }
285
+
286
+ // Responsive breakpoints
287
+ @include extras-tablet {
288
+ .#{iv.$class-prefix}sidebar {
289
+ @include cv.register-vars(("sidebar-width": #{$sidebar-width-tablet}));
290
+ }
291
+
292
+ .#{iv.$class-prefix}sidebar.#{iv.$class-prefix}is-narrow {
293
+ @include cv.register-vars(("sidebar-width": #{$sidebar-width-narrow}));
294
+ }
295
+
296
+ .#{iv.$class-prefix}sidebar.#{iv.$class-prefix}is-wide {
297
+ @include cv.register-vars(("sidebar-width": #{$sidebar-width-wide}));
298
+ }
299
+ }
300
+
301
+ // Reduce motion
302
+ @media (prefers-reduced-motion: reduce) {
303
+ .#{iv.$class-prefix}sidebar,
304
+ .#{iv.$class-prefix}sidebar-background {
305
+ transition: none;
306
+ }
307
+ }
308
+
309
+ // Static variant (inline sidebar, not overlay)
310
+ .#{iv.$class-prefix}sidebar.#{iv.$class-prefix}is-static {
311
+ position: relative;
312
+ transform: none;
313
+ box-shadow: none;
314
+ z-index: auto;
315
+ border-right: 1px solid cv.getVar("sidebar-static-border-color");
316
+
317
+ &.#{iv.$class-prefix}is-right {
318
+ border-right: none;
319
+ border-left: 1px solid cv.getVar("sidebar-static-border-color");
320
+ }
321
+ }
322
+
323
+ // Mini/collapsed state
324
+ .#{iv.$class-prefix}sidebar.#{iv.$class-prefix}is-mini {
325
+ @include cv.register-vars(("sidebar-width": #{$sidebar-width-mini}));
326
+
327
+ .#{iv.$class-prefix}sidebar-content {
328
+ padding: 0.5rem;
329
+ }
330
+
331
+ .#{iv.$class-prefix}menu-label {
332
+ display: none;
333
+ }
334
+
335
+ .#{iv.$class-prefix}menu-list a {
336
+ justify-content: center;
337
+ padding: 0.75rem;
338
+
339
+ .#{iv.$class-prefix}icon {
340
+ margin: 0;
341
+ }
342
+
343
+ span:not(.#{iv.$class-prefix}icon) {
344
+ display: none;
345
+ }
346
+ }
347
+ }