bitboss-ui 2.1.115 → 2.1.117

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 (196) hide show
  1. package/dist/ai/BbBadge.md +107 -48
  2. package/dist/ai/BbTab.md +7 -7
  3. package/dist/components/BbBadge/types.d.ts +4 -0
  4. package/dist/index.css +1 -1
  5. package/dist/index109.js +8 -8
  6. package/dist/index110.js +17 -17
  7. package/dist/index118.js +1 -1
  8. package/dist/index124.js +72 -74
  9. package/dist/index126.js +12 -12
  10. package/dist/index134.js +1 -1
  11. package/dist/index136.js +5 -5
  12. package/dist/index138.js +1 -1
  13. package/dist/index140.js +2 -2
  14. package/dist/index144.js +1 -1
  15. package/dist/index146.js +2 -2
  16. package/dist/index16.js +3 -3
  17. package/dist/index18.js +3 -3
  18. package/dist/index20.js +8 -8
  19. package/dist/index22.js +14 -14
  20. package/dist/index221.js +2 -138
  21. package/dist/index222.js +138 -2
  22. package/dist/index224.js +1 -1
  23. package/dist/index225.js +1 -1
  24. package/dist/index226.js +1 -1
  25. package/dist/index227.js +7 -5
  26. package/dist/index228.js +2 -5
  27. package/dist/index229.js +5 -5
  28. package/dist/index230.js +5 -5
  29. package/dist/index231.js +5 -3
  30. package/dist/index232.js +5 -2
  31. package/dist/index233.js +3 -6
  32. package/dist/index234.js +2 -8
  33. package/dist/index235.js +6 -268
  34. package/dist/index236.js +6 -50
  35. package/dist/index237.js +260 -44
  36. package/dist/index238.js +45 -25
  37. package/dist/index239.js +40 -48
  38. package/dist/index24.js +10 -10
  39. package/dist/index240.js +31 -12
  40. package/dist/index241.js +59 -187
  41. package/dist/index242.js +13 -3
  42. package/dist/index243.js +5 -2
  43. package/dist/index244.js +5 -2
  44. package/dist/index245.js +5 -2
  45. package/dist/index246.js +3 -13
  46. package/dist/index247.js +135 -13
  47. package/dist/index249.js +9 -17
  48. package/dist/index250.js +2 -106
  49. package/dist/index251.js +6 -0
  50. package/dist/index252.js +2 -100
  51. package/dist/index253.js +4 -0
  52. package/dist/index254.js +13 -3
  53. package/dist/index255.js +13 -2
  54. package/dist/index256.js +18 -4
  55. package/dist/index257.js +11 -19
  56. package/dist/index258.js +51 -6
  57. package/dist/index259.js +18 -16
  58. package/dist/index26.js +3 -3
  59. package/dist/index260.js +12 -86
  60. package/dist/index261.js +19 -0
  61. package/dist/index262.js +1 -1
  62. package/dist/index263.js +16 -16
  63. package/dist/index264.js +106 -12
  64. package/dist/index266.js +100 -2
  65. package/dist/index268.js +107 -7
  66. package/dist/index269.js +11 -3
  67. package/dist/index270.js +86 -4
  68. package/dist/index272.js +3 -5
  69. package/dist/index273.js +4 -5
  70. package/dist/index274.js +18 -133
  71. package/dist/index275.js +34 -0
  72. package/dist/index277.js +27 -8
  73. package/dist/index279.js +9 -4
  74. package/dist/index28.js +1 -1
  75. package/dist/index280.js +18 -20
  76. package/dist/index281.js +3 -373
  77. package/dist/index282.js +55 -0
  78. package/dist/index283.js +4 -33
  79. package/dist/index284.js +23 -3
  80. package/dist/index285.js +6 -25
  81. package/dist/index286.js +16 -3
  82. package/dist/index287.js +9 -17
  83. package/dist/index288.js +2 -11
  84. package/dist/index289.js +368 -102
  85. package/dist/index291.js +3 -67
  86. package/dist/index292.js +5 -32
  87. package/dist/index293.js +11 -0
  88. package/dist/index294.js +23 -6
  89. package/dist/index295.js +6 -10
  90. package/dist/index296.js +25 -3
  91. package/dist/index297.js +65 -7
  92. package/dist/index298.js +186 -51
  93. package/dist/index299.js +3 -5
  94. package/dist/index30.js +3 -3
  95. package/dist/index300.js +2 -21
  96. package/dist/index301.js +7 -28
  97. package/dist/index302.js +9 -0
  98. package/dist/index303.js +2 -7
  99. package/dist/index304.js +7 -2
  100. package/dist/index305.js +4 -280
  101. package/dist/index306.js +280 -2
  102. package/dist/index307.js +2 -16
  103. package/dist/index308.js +16 -2
  104. package/dist/index309.js +2 -16
  105. package/dist/index310.js +16 -2
  106. package/dist/index311.js +2 -27
  107. package/dist/index312.js +27 -2
  108. package/dist/index313.js +2 -2
  109. package/dist/index314.js +1 -1
  110. package/dist/index315.js +1 -1
  111. package/dist/index317.js +2 -28
  112. package/dist/index318.js +28 -2
  113. package/dist/index319.js +2 -7
  114. package/dist/index32.js +2 -2
  115. package/dist/index320.js +3 -719
  116. package/dist/index321.js +3 -366
  117. package/dist/index322.js +3 -57
  118. package/dist/index323.js +3 -4
  119. package/dist/index324.js +1 -1
  120. package/dist/index325.js +2 -17
  121. package/dist/index326.js +17 -3
  122. package/dist/index327.js +125 -3
  123. package/dist/index328.js +2 -3
  124. package/dist/index329.js +15 -3
  125. package/dist/index330.js +2 -125
  126. package/dist/index331.js +19 -2
  127. package/dist/index332.js +2 -15
  128. package/dist/index333.js +3 -2
  129. package/dist/index334.js +5 -19
  130. package/dist/index335.js +4 -2
  131. package/dist/index336.js +6 -5
  132. package/dist/index337.js +3 -5
  133. package/dist/index338.js +5 -2
  134. package/dist/index339.js +719 -4
  135. package/dist/index34.js +7 -7
  136. package/dist/index340.js +366 -2
  137. package/dist/index341.js +57 -3
  138. package/dist/index342.js +2 -3
  139. package/dist/index343.js +34 -5
  140. package/dist/index344.js +128 -6
  141. package/dist/index345.js +395 -16
  142. package/dist/index346.js +200 -9
  143. package/dist/index347.js +258 -14
  144. package/dist/index348.js +7 -5
  145. package/dist/index349.js +5 -7
  146. package/dist/index350.js +7 -67
  147. package/dist/index351.js +18 -66
  148. package/dist/index352.js +8 -34
  149. package/dist/index353.js +12 -126
  150. package/dist/index354.js +65 -396
  151. package/dist/index355.js +66 -92
  152. package/dist/index356.js +21 -227
  153. package/dist/index358.js +9 -0
  154. package/dist/index359.js +228 -7
  155. package/dist/index36.js +4 -4
  156. package/dist/index360.js +2 -200
  157. package/dist/index361.js +2 -259
  158. package/dist/index363.js +93 -2
  159. package/dist/index364.js +441 -2
  160. package/dist/index365.js +114 -427
  161. package/dist/index366.js +46 -127
  162. package/dist/index367.js +67 -44
  163. package/dist/index368.js +516 -66
  164. package/dist/index369.js +45 -515
  165. package/dist/index38.js +20 -20
  166. package/dist/index40.js +7 -7
  167. package/dist/index42.js +2 -2
  168. package/dist/index44.js +7 -7
  169. package/dist/index46.js +6 -6
  170. package/dist/index50.js +2 -2
  171. package/dist/index54.js +1 -1
  172. package/dist/index56.js +1 -1
  173. package/dist/index58.js +25 -20
  174. package/dist/index60.js +2 -2
  175. package/dist/index62.js +5 -5
  176. package/dist/index68.js +1 -1
  177. package/dist/index74.js +4 -4
  178. package/dist/index82.js +6 -6
  179. package/dist/index84.js +1 -1
  180. package/dist/index86.js +2 -2
  181. package/dist/index88.js +3 -3
  182. package/dist/index90.js +1 -1
  183. package/dist/index93.js +3 -3
  184. package/dist/index95.js +2 -2
  185. package/dist/index97.js +5 -5
  186. package/dist/index99.js +1 -1
  187. package/package.json +2 -2
  188. package/dist/index248.js +0 -53
  189. package/dist/index265.js +0 -20
  190. package/dist/index267.js +0 -9
  191. package/dist/index271.js +0 -7
  192. package/dist/index276.js +0 -11
  193. package/dist/index278.js +0 -25
  194. package/dist/index290.js +0 -13
  195. package/dist/index357.js +0 -24
  196. package/dist/index370.js +0 -52
@@ -8,7 +8,7 @@
8
8
  <span class="bb-badge__wrapper">
9
9
  <slot></slot>
10
10
  <span class="bb-badge__content-container" v-bind="contentAttributes">
11
- <span class="bb-badge__content-inner"
11
+ <span v-if="!props.dot" class="bb-badge__content-inner"
12
12
  ><slot name="content">{{ content }}</slot></span
13
13
  >
14
14
  </span>
@@ -36,7 +36,8 @@ const classes = computed(() => {
36
36
  'bb-badge--left': props.left,
37
37
  'bb-badge--positioned': slots.default,
38
38
  'bb-badge--floating': props.floating,
39
- 'bb-badge--empty': isNil(props.content),
39
+ 'bb-badge--dot': props.dot,
40
+ 'bb-badge--empty': !props.dot && isNil(props.content),
40
41
  [`bb-badge--${props.color}`]: props.color && !isCssColor(props.color),
41
42
  };
42
43
  });
@@ -78,6 +79,10 @@ export type BbBadgeProps = Pick<CommonProps, 'color'> & {
78
79
  * Text content of the badge.
79
80
  */
80
81
  content?: string | number | null;
82
+ /**
83
+ * Renders a small dot with no content instead of the full badge.
84
+ */
85
+ dot?: boolean;
81
86
  /**
82
87
  * Renders the badge a little further from the wrapped component,
83
88
  * making it look like it's floating and not stacked.
@@ -105,77 +110,131 @@ export type BbBadgeSlots = {
105
110
 
106
111
  ```css
107
112
  .bb-badge {
108
- --color: var(--bb-primary);
109
- --radius: 999px;
113
+ /* ── Configurable tokens ─────────────────────────────────── */
114
+ --bb-badge-bg: var(--bb-primary);
115
+ --bb-badge-color: var(--bb-contrasting);
116
+ --bb-badge-radius: 999px;
117
+ --bb-badge-font-size: 0.75rem;
118
+ --bb-badge-min-size: 1.375rem;
119
+ --bb-badge-dot-size: 0.625rem;
120
+ --bb-badge-border-width: 0px;
121
+ --bb-badge-border-color: transparent;
122
+ --bb-badge-offset: 0.625rem;
123
+ --bb-badge-float-offset: 1.25rem;
124
+ --bb-badge-dot-offset: 0.125rem;
125
+ --bb-badge-dot-float-offset: 0.5rem;
126
+
110
127
  display: inline-flex;
111
128
 
129
+ /* ── Positioned mode ─────────────────────────────────────── */
112
130
  &--positioned {
113
131
  position: relative;
114
132
 
115
- &.bb-badge--left {
116
- .bb-badge__content-container {
117
- left: calc(0% - 10px);
118
- }
133
+ .bb-badge__content-container {
134
+ position: absolute;
135
+ top: calc(0% - var(--bb-badge-offset));
136
+ right: calc(0% - var(--bb-badge-offset));
137
+ bottom: auto;
138
+ left: auto;
119
139
  }
120
140
 
121
- &.bb-badge--bottom {
122
- .bb-badge__content-container {
123
- bottom: calc(0% - 10px);
124
- }
141
+ &.bb-badge--left .bb-badge__content-container {
142
+ right: auto;
143
+ left: calc(0% - var(--bb-badge-offset));
125
144
  }
126
145
 
127
- &.bb-badge--empty {
128
- .bb-badge__content-container {
129
- transform: scale(0);
130
- }
146
+ &.bb-badge--bottom .bb-badge__content-container {
147
+ top: auto;
148
+ bottom: calc(0% - var(--bb-badge-offset));
149
+ }
150
+
151
+ &.bb-badge--empty .bb-badge__content-container {
152
+ transform: scale(0);
153
+ }
154
+
155
+ /* Dot: smaller so it needs a tighter offset */
156
+ &.bb-badge--dot .bb-badge__content-container {
157
+ top: calc(0% - var(--bb-badge-dot-offset));
158
+ right: calc(0% - var(--bb-badge-dot-offset));
159
+ }
160
+
161
+ &.bb-badge--dot.bb-badge--left .bb-badge__content-container {
162
+ right: auto;
163
+ left: calc(0% - var(--bb-badge-dot-offset));
131
164
  }
132
165
 
133
- &.bb-badge--floating {
166
+ &.bb-badge--dot.bb-badge--bottom .bb-badge__content-container {
167
+ top: auto;
168
+ bottom: calc(0% - var(--bb-badge-dot-offset));
169
+ }
170
+
171
+ /* Floating */
172
+ &.bb-badge--floating .bb-badge__content-container {
173
+ top: calc(0% - var(--bb-badge-float-offset));
174
+ right: calc(0% - var(--bb-badge-float-offset));
175
+ bottom: auto;
176
+ left: auto;
177
+ }
178
+
179
+ &.bb-badge--floating.bb-badge--left .bb-badge__content-container {
180
+ right: auto;
181
+ left: calc(0% - var(--bb-badge-float-offset));
182
+ }
183
+
184
+ &.bb-badge--floating.bb-badge--bottom .bb-badge__content-container {
185
+ top: auto;
186
+ bottom: calc(0% - var(--bb-badge-float-offset));
187
+ }
188
+
189
+ /* Floating dot */
190
+ &.bb-badge--floating.bb-badge--dot .bb-badge__content-container {
191
+ top: calc(0% - var(--bb-badge-dot-float-offset));
192
+ right: calc(0% - var(--bb-badge-dot-float-offset));
193
+ bottom: auto;
194
+ left: auto;
195
+ }
196
+
197
+ &.bb-badge--floating.bb-badge--dot.bb-badge--left
134
198
  .bb-badge__content-container {
135
- bottom: calc(100% - 4px);
136
- left: calc(100% - 4px);
137
-
138
- &.bb-badge--left {
139
- left: calc(0% + 4px);
140
- transform: translateX(-100%);
141
- }
142
-
143
- &.bb-badge--bottom {
144
- bottom: calc(0% + 4px);
145
- transform: translateY(100%);
146
- }
147
- }
199
+ right: auto;
200
+ left: calc(0% - var(--bb-badge-dot-float-offset));
148
201
  }
149
202
 
150
- .bb-badge__content-container {
151
- bottom: calc(100% - 10px);
152
- left: calc(100% - 10px);
153
- min-height: 18px;
154
- min-width: 18px;
155
- position: absolute;
203
+ &.bb-badge--floating.bb-badge--dot.bb-badge--bottom
204
+ .bb-badge__content-container {
205
+ top: auto;
206
+ bottom: calc(0% - var(--bb-badge-dot-float-offset));
156
207
  }
157
208
  }
158
209
 
210
+ /* ── Badge bubble ────────────────────────────────────────── */
159
211
  &__content-container {
160
212
  align-items: center;
161
- background-color: var(--color);
162
- border-radius: var(--radius);
163
- color: var(--bb-contrasting);
213
+ background-color: var(--bb-badge-bg);
214
+ border: var(--bb-badge-border-width) solid var(--bb-badge-border-color);
215
+ border-radius: var(--bb-badge-radius);
216
+ color: var(--bb-badge-color);
164
217
  display: inline-flex;
165
- font-size: 12px;
218
+ font-size: var(--bb-badge-font-size);
219
+ font-weight: 600;
166
220
  justify-content: center;
167
- line-height: 0;
168
- min-height: 22px;
169
- padding-bottom: 3px;
170
- padding-left: 6px;
171
- padding-right: 6px;
172
- padding-top: 3px;
221
+ line-height: 1;
222
+ min-height: var(--bb-badge-min-size);
223
+ min-width: var(--bb-badge-min-size);
224
+ padding-block: 0.1875rem;
225
+ padding-inline: 0.375rem;
173
226
  transition:
174
227
  color 0.2s,
175
- background-color 0.2s;
228
+ background-color 0.2s,
229
+ transform 0.15s;
230
+ white-space: nowrap;
176
231
  }
177
232
 
178
- &__content-inner {
233
+ /* ── Dot mode ────────────────────────────────────────────── */
234
+ &--dot .bb-badge__content-container {
235
+ min-height: var(--bb-badge-dot-size);
236
+ min-width: var(--bb-badge-dot-size);
237
+ padding: 0;
179
238
  }
180
239
 
181
240
  &__wrapper {
package/dist/ai/BbTab.md CHANGED
@@ -116,7 +116,6 @@ import BaseButton from '../BaseButton/BaseButton.vue';
116
116
  import BbSmoothHeight from '../BbSmoothHeight/BbSmoothHeight.vue';
117
117
  import { onMounted } from 'vue';
118
118
  import { useFrameworkDetection } from '@/composables/useFrameworkDetection';
119
- import { merge } from '@/utilities/functions/merge';
120
119
  import { isNil } from '@/utilities/functions/isNil';
121
120
  import { useQuery } from '@/composables/useQuery';
122
121
  import { hash } from '@/utilities/functions/hash';
@@ -294,12 +293,13 @@ const onTabSelected = (tab: BbTabItem<K>['key'], replace = props.replace) => {
294
293
  if (props.navigation && route.value && queryTabParam.value !== tab) {
295
294
  if (!router) return;
296
295
  const method = replace ? 'replace' : 'push';
297
- router[method](
298
- merge(route.value, {
299
- query: { [props.querykey]: tab },
300
- replace: replace,
301
- })
302
- );
296
+
297
+ const nextQuery = {
298
+ ...(route.value?.query ?? {}),
299
+ [props.querykey]: tab,
300
+ };
301
+ const nextRoute = { ...route.value, query: nextQuery };
302
+ router[method](nextRoute);
303
303
  /* Inertia context — server visit (real round-trip, supports partial reloads) */
304
304
  } else if (props.navigation && isInertia) {
305
305
  const urlString = tabItem.href ?? globalThis.location.href;
@@ -8,6 +8,10 @@ export type BbBadgeProps = Pick<CommonProps, 'color'> & {
8
8
  * Text content of the badge.
9
9
  */
10
10
  content?: string | number | null;
11
+ /**
12
+ * Renders a small dot with no content instead of the full badge.
13
+ */
14
+ dot?: boolean;
11
15
  /**
12
16
  * Renders the badge a little further from the wrapped component,
13
17
  * making it look like it's floating and not stacked.