bitboss-ui 2.1.101 → 2.1.103

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 (306) hide show
  1. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +21 -47
  2. package/dist/components/BaseColorInput/ColorPalette.vue.d.ts +36 -0
  3. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +20 -19
  4. package/dist/components/BbBreadcrumbs/estimateBreadcrumbItemWidth.d.ts +1 -9
  5. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +17 -0
  6. package/dist/components/BbColorPalette/BbColorPalette.vue.d.ts +207 -0
  7. package/dist/i18n/en.d.ts +5 -0
  8. package/dist/i18n/it.d.ts +5 -0
  9. package/dist/index.css +1 -1
  10. package/dist/index.d.ts +2 -0
  11. package/dist/index.js +79 -77
  12. package/dist/index109.js +134 -175
  13. package/dist/index11.js +1 -1
  14. package/dist/index110.js +185 -0
  15. package/dist/{index115.js → index116.js} +1 -1
  16. package/dist/index12.js +2 -2
  17. package/dist/{index121.js → index122.js} +10 -10
  18. package/dist/{index123.js → index124.js} +13 -13
  19. package/dist/index13.js +6 -6
  20. package/dist/{index131.js → index132.js} +1 -1
  21. package/dist/{index133.js → index134.js} +6 -6
  22. package/dist/{index135.js → index136.js} +1 -1
  23. package/dist/{index137.js → index138.js} +2 -2
  24. package/dist/index14.js +2 -2
  25. package/dist/index140.js +13 -11
  26. package/dist/index141.js +11 -2
  27. package/dist/index142.js +2 -419
  28. package/dist/index143.js +417 -7
  29. package/dist/index144.js +8 -8
  30. package/dist/index145.js +9 -25
  31. package/dist/index146.js +25 -2
  32. package/dist/index147.js +2 -5
  33. package/dist/index148.js +5 -6
  34. package/dist/index149.js +5 -4
  35. package/dist/index150.js +5 -3
  36. package/dist/index151.js +1 -1
  37. package/dist/index152.js +1 -1
  38. package/dist/index153.js +1 -1
  39. package/dist/index154.js +1 -1
  40. package/dist/index155.js +1 -1
  41. package/dist/index156.js +1 -1
  42. package/dist/index157.js +1 -1
  43. package/dist/index158.js +1 -1
  44. package/dist/index159.js +1 -1
  45. package/dist/index16.js +80 -94
  46. package/dist/index160.js +1 -1
  47. package/dist/index161.js +1 -1
  48. package/dist/index162.js +1 -1
  49. package/dist/index163.js +1 -1
  50. package/dist/index164.js +1 -1
  51. package/dist/index165.js +1 -1
  52. package/dist/index166.js +1 -1
  53. package/dist/index167.js +1 -1
  54. package/dist/index168.js +1 -1
  55. package/dist/index169.js +1 -1
  56. package/dist/index170.js +1 -1
  57. package/dist/index171.js +1 -1
  58. package/dist/index172.js +1 -1
  59. package/dist/index173.js +1 -1
  60. package/dist/index174.js +1 -1
  61. package/dist/index175.js +1 -1
  62. package/dist/index176.js +1 -1
  63. package/dist/index177.js +1 -1
  64. package/dist/index178.js +1 -1
  65. package/dist/index179.js +1 -1
  66. package/dist/index18.js +3 -3
  67. package/dist/index180.js +1 -1
  68. package/dist/index181.js +1 -1
  69. package/dist/index182.js +1 -1
  70. package/dist/index183.js +2 -3
  71. package/dist/index184.js +1 -1
  72. package/dist/index185.js +1 -1
  73. package/dist/index186.js +1 -1
  74. package/dist/index187.js +1 -1
  75. package/dist/index188.js +3 -2
  76. package/dist/index189.js +1 -1
  77. package/dist/index190.js +2 -3
  78. package/dist/index191.js +1 -1
  79. package/dist/index192.js +1 -1
  80. package/dist/index193.js +1 -1
  81. package/dist/index194.js +2 -2
  82. package/dist/index195.js +1 -1
  83. package/dist/index196.js +1 -1
  84. package/dist/index197.js +1 -1
  85. package/dist/index198.js +3 -2
  86. package/dist/index199.js +1 -1
  87. package/dist/index20.js +8 -8
  88. package/dist/index200.js +2 -3
  89. package/dist/index201.js +1 -1
  90. package/dist/index202.js +1 -1
  91. package/dist/index203.js +1 -1
  92. package/dist/index204.js +1 -1
  93. package/dist/index205.js +1 -1
  94. package/dist/index206.js +1 -1
  95. package/dist/index207.js +1 -1
  96. package/dist/index208.js +1 -1
  97. package/dist/index209.js +1 -1
  98. package/dist/index210.js +1 -1
  99. package/dist/index211.js +1 -1
  100. package/dist/index212.js +1 -1
  101. package/dist/index213.js +1 -1
  102. package/dist/{index299.js → index214.js} +1 -1
  103. package/dist/index215.js +3 -7
  104. package/dist/index217.js +6 -137
  105. package/dist/index218.js +2 -2
  106. package/dist/index219.js +137 -3
  107. package/dist/index22.js +14 -14
  108. package/dist/index220.js +2 -13
  109. package/dist/index221.js +5 -20
  110. package/dist/index222.js +8 -201
  111. package/dist/index223.js +4 -0
  112. package/dist/index224.js +2 -135
  113. package/dist/index225.js +5 -0
  114. package/dist/index226.js +1 -1
  115. package/dist/index227.js +1 -1
  116. package/dist/index229.js +5 -2
  117. package/dist/index230.js +5 -2
  118. package/dist/index231.js +5 -3
  119. package/dist/index232.js +5 -13
  120. package/dist/index233.js +3 -13
  121. package/dist/index234.js +2 -9
  122. package/dist/index235.js +6 -23
  123. package/dist/index236.js +8 -4
  124. package/dist/index237.js +266 -21
  125. package/dist/index238.js +52 -5
  126. package/dist/index239.js +52 -5
  127. package/dist/index24.js +13 -13
  128. package/dist/index240.js +32 -5
  129. package/dist/index241.js +60 -5
  130. package/dist/index242.js +13 -3
  131. package/dist/index243.js +3 -2
  132. package/dist/index244.js +86 -6
  133. package/dist/index246.js +27 -266
  134. package/dist/index247.js +16 -52
  135. package/dist/index248.js +17 -52
  136. package/dist/index249.js +50 -31
  137. package/dist/index250.js +15 -60
  138. package/dist/index251.js +12 -4
  139. package/dist/index252.js +2 -25
  140. package/dist/index253.js +4 -33
  141. package/dist/index254.js +106 -2
  142. package/dist/index256.js +100 -6
  143. package/dist/index258.js +3 -86
  144. package/dist/index259.js +12 -0
  145. package/dist/index26.js +4 -4
  146. package/dist/index260.js +2 -28
  147. package/dist/index261.js +4 -17
  148. package/dist/index262.js +5 -51
  149. package/dist/index263.js +5 -15
  150. package/dist/index264.js +5 -12
  151. package/dist/index265.js +2 -16
  152. package/dist/index266.js +19 -33
  153. package/dist/index267.js +132 -185
  154. package/dist/index269.js +188 -9
  155. package/dist/index270.js +3 -53
  156. package/dist/index271.js +13 -3
  157. package/dist/index272.js +13 -2
  158. package/dist/index273.js +23 -2
  159. package/dist/index274.js +8 -6
  160. package/dist/index275.js +23 -7
  161. package/dist/index276.js +17 -20
  162. package/dist/index277.js +11 -9
  163. package/dist/index278.js +104 -3
  164. package/dist/index279.js +11 -5
  165. package/dist/index28.js +2 -2
  166. package/dist/index280.js +9 -5
  167. package/dist/index281.js +21 -5
  168. package/dist/index282.js +25 -3
  169. package/dist/index283.js +33 -3
  170. package/dist/index284.js +4 -106
  171. package/dist/index285.js +69 -0
  172. package/dist/index286.js +9 -100
  173. package/dist/index288.js +2 -67
  174. package/dist/index289.js +7 -9
  175. package/dist/index290.js +6 -10
  176. package/dist/index291.js +3 -5
  177. package/dist/index292.js +6 -18
  178. package/dist/index293.js +16 -12
  179. package/dist/index294.js +5 -104
  180. package/dist/index295.js +53 -5
  181. package/dist/index296.js +34 -8
  182. package/dist/index297.js +373 -4
  183. package/dist/index30.js +6 -6
  184. package/dist/index300.js +3 -7
  185. package/dist/index301.js +5 -3
  186. package/dist/index302.js +280 -3
  187. package/dist/index303.js +2 -5
  188. package/dist/index304.js +16 -719
  189. package/dist/index305.js +2 -366
  190. package/dist/index306.js +15 -56
  191. package/dist/index307.js +2 -3
  192. package/dist/index308.js +27 -17
  193. package/dist/index309.js +2 -28
  194. package/dist/index310.js +2 -280
  195. package/dist/index311.js +2 -2
  196. package/dist/index312.js +2 -16
  197. package/dist/index313.js +2 -2
  198. package/dist/index314.js +27 -15
  199. package/dist/index315.js +2 -2
  200. package/dist/index316.js +7 -27
  201. package/dist/index317.js +3 -2
  202. package/dist/index318.js +17 -2
  203. package/dist/index319.js +4 -2
  204. package/dist/index32.js +2 -2
  205. package/dist/index320.js +3 -2
  206. package/dist/index321.js +3 -2
  207. package/dist/index322.js +125 -2
  208. package/dist/index323.js +2 -2
  209. package/dist/index324.js +15 -5
  210. package/dist/index325.js +2 -125
  211. package/dist/index326.js +19 -2
  212. package/dist/index327.js +2 -15
  213. package/dist/index328.js +3 -2
  214. package/dist/index329.js +2 -19
  215. package/dist/index330.js +2 -2
  216. package/dist/index331.js +6 -2
  217. package/dist/index332.js +4 -3
  218. package/dist/index333.js +5 -3
  219. package/dist/index334.js +719 -2
  220. package/dist/index335.js +366 -4
  221. package/dist/index336.js +56 -5
  222. package/dist/index337.js +2 -8
  223. package/dist/index338.js +5 -6
  224. package/dist/index339.js +7 -8
  225. package/dist/index34.js +8 -8
  226. package/dist/index340.js +6 -34
  227. package/dist/index341.js +19 -6
  228. package/dist/index342.js +7 -127
  229. package/dist/index343.js +12 -395
  230. package/dist/index344.js +33 -91
  231. package/dist/index345.js +6 -62
  232. package/dist/index346.js +128 -61
  233. package/dist/index347.js +398 -5
  234. package/dist/index348.js +67 -7
  235. package/dist/index349.js +66 -18
  236. package/dist/index350.js +227 -8
  237. package/dist/index351.js +3 -15
  238. package/dist/index352.js +191 -7
  239. package/dist/index353.js +256 -226
  240. package/dist/index354.js +21 -133
  241. package/dist/index356.js +136 -0
  242. package/dist/index357.js +91 -189
  243. package/dist/index358.js +2 -258
  244. package/dist/index359.js +1 -1
  245. package/dist/index36.js +5 -5
  246. package/dist/index360.js +441 -2
  247. package/dist/index361.js +114 -427
  248. package/dist/index362.js +46 -127
  249. package/dist/index363.js +67 -44
  250. package/dist/index364.js +516 -66
  251. package/dist/index365.js +45 -515
  252. package/dist/index38.js +26 -26
  253. package/dist/index40.js +8 -8
  254. package/dist/index42.js +2 -2
  255. package/dist/index44.js +8 -8
  256. package/dist/index46.js +9 -9
  257. package/dist/index48.js +4 -4
  258. package/dist/index50.js +4 -4
  259. package/dist/index54.js +2 -2
  260. package/dist/index56.js +2 -2
  261. package/dist/index58.js +2 -2
  262. package/dist/index60.js +163 -148
  263. package/dist/index62.js +8 -8
  264. package/dist/index68.js +1 -1
  265. package/dist/index7.js +2 -2
  266. package/dist/index72.js +16 -10
  267. package/dist/index74.js +119 -79
  268. package/dist/index75.js +85 -0
  269. package/dist/index77.js +17 -123
  270. package/dist/index78.js +127 -0
  271. package/dist/{index81.js → index82.js} +9 -9
  272. package/dist/{index83.js → index84.js} +4 -4
  273. package/dist/{index85.js → index86.js} +3 -3
  274. package/dist/{index87.js → index88.js} +3 -3
  275. package/dist/index9.js +1 -1
  276. package/dist/index90.js +37 -125
  277. package/dist/index91.js +134 -0
  278. package/dist/{index92.js → index93.js} +4 -4
  279. package/dist/{index94.js → index95.js} +3 -3
  280. package/dist/{index96.js → index97.js} +6 -6
  281. package/dist/{index98.js → index99.js} +2 -2
  282. package/package.json +2 -2
  283. package/dist/components/BaseColorInput/ColorPallette.vue.d.ts +0 -13
  284. package/dist/index108.js +0 -144
  285. package/dist/index139.js +0 -15
  286. package/dist/index216.js +0 -4
  287. package/dist/index245.js +0 -10
  288. package/dist/index257.js +0 -18
  289. package/dist/index268.js +0 -5
  290. package/dist/index355.js +0 -24
  291. package/dist/index366.js +0 -52
  292. package/dist/index76.js +0 -21
  293. package/dist/index89.js +0 -46
  294. /package/dist/{index100.js → index101.js} +0 -0
  295. /package/dist/{index102.js → index103.js} +0 -0
  296. /package/dist/{index104.js → index105.js} +0 -0
  297. /package/dist/{index106.js → index107.js} +0 -0
  298. /package/dist/{index111.js → index112.js} +0 -0
  299. /package/dist/{index113.js → index114.js} +0 -0
  300. /package/dist/{index117.js → index118.js} +0 -0
  301. /package/dist/{index119.js → index120.js} +0 -0
  302. /package/dist/{index125.js → index126.js} +0 -0
  303. /package/dist/{index127.js → index128.js} +0 -0
  304. /package/dist/{index129.js → index130.js} +0 -0
  305. /package/dist/{index255.js → index287.js} +0 -0
  306. /package/dist/{index79.js → index80.js} +0 -0
@@ -2,9 +2,15 @@ import { HTMLAttributes, InputHTMLAttributes } from 'vue';
2
2
  import { IconType } from '../../types/Icon';
3
3
  /**
4
4
  * Color input with hex value masking and an optional palette popover.
5
- * Accepts and emits `#RRGGBB` values via v-model and supports full input chrome slots.
5
+ * Accepts and emits `#RRGGBB` (or `#RRGGBBAA` when `alpha` is enabled) values via v-model
6
+ * and supports full input chrome slots.
6
7
  */
7
8
  export type BaseColorInputProps = {
9
+ /**
10
+ * Enable the alpha channel. When true the picker shows an opacity slider and
11
+ * emits / accepts `#RRGGBBAA` hex8 values.
12
+ */
13
+ alpha?: boolean;
8
14
  /**
9
15
  * Name of the icon to render at the right hand side of the input.
10
16
  */
@@ -72,6 +78,19 @@ export type BaseColorInputProps = {
72
78
  * Mark the input as required.
73
79
  */
74
80
  required?: boolean;
81
+ /**
82
+ * Show an eyedropper button to sample any color on screen.
83
+ * Uses the native EyeDropper API — hidden automatically on unsupported browsers.
84
+ * @default false
85
+ */
86
+ picker?: boolean;
87
+ /**
88
+ * Controls swatches display in the picker:
89
+ * - `true` — show the built-in Material-palette swatches
90
+ * - `string[][]` — show custom swatches (each inner array = a column of shades)
91
+ * - `false` / omitted — no swatches section
92
+ */
93
+ swatches?: boolean | string[][];
75
94
  /**
76
95
  * Transition duration (ms) of the palette popover.
77
96
  * @default 250
@@ -216,29 +235,6 @@ declare function __VLS_template(): {
216
235
  suffix?(_: {}): any;
217
236
  };
218
237
  }) | null;
219
- indicator: HTMLButtonElement;
220
- pallette: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
221
- modelValue: string | null;
222
- }> & Readonly<{
223
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
224
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
225
- "update:modelValue": (value: string) => any;
226
- }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
227
- paletteRef: HTMLSpanElement;
228
- mainCanvasRef: HTMLCanvasElement;
229
- hueCanvasRef: HTMLCanvasElement;
230
- }, HTMLSpanElement, import('vue').ComponentProvideOptions, {
231
- P: {};
232
- B: {};
233
- D: {};
234
- C: {};
235
- M: {};
236
- Defaults: {};
237
- }, Readonly<{
238
- modelValue: string | null;
239
- }> & Readonly<{
240
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
241
- }>, {}, {}, {}, {}, {}> | null;
242
238
  };
243
239
  rootEl: HTMLSpanElement;
244
240
  };
@@ -266,6 +262,7 @@ declare const __VLS_component: import('vue').DefineComponent<BaseColorInputProps
266
262
  }>, {
267
263
  autocomplete: string;
268
264
  transitionDuration: number;
265
+ alpha: boolean;
269
266
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
270
267
  wrapper: ({
271
268
  $: import('vue').ComponentInternalInstance;
@@ -373,29 +370,6 @@ declare const __VLS_component: import('vue').DefineComponent<BaseColorInputProps
373
370
  suffix?(_: {}): any;
374
371
  };
375
372
  }) | null;
376
- indicator: HTMLButtonElement;
377
- pallette: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
378
- modelValue: string | null;
379
- }> & Readonly<{
380
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
381
- }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
382
- "update:modelValue": (value: string) => any;
383
- }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
384
- paletteRef: HTMLSpanElement;
385
- mainCanvasRef: HTMLCanvasElement;
386
- hueCanvasRef: HTMLCanvasElement;
387
- }, HTMLSpanElement, import('vue').ComponentProvideOptions, {
388
- P: {};
389
- B: {};
390
- D: {};
391
- C: {};
392
- M: {};
393
- Defaults: {};
394
- }, Readonly<{
395
- modelValue: string | null;
396
- }> & Readonly<{
397
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
398
- }>, {}, {}, {}, {}, {}> | null;
399
373
  }, HTMLSpanElement>;
400
374
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
401
375
  export default _default;
@@ -0,0 +1,36 @@
1
+ export type ColorPaletteProps = {
2
+ modelValue: string | null;
3
+ alpha?: boolean;
4
+ /**
5
+ * Show an eyedropper button that lets the user sample any color on screen.
6
+ * Uses the native EyeDropper API — hidden automatically on unsupported browsers.
7
+ * @default false
8
+ */
9
+ picker?: boolean;
10
+ /**
11
+ * Controls swatches display:
12
+ * - `true` — show the built-in Material-palette swatches
13
+ * - `string[][]` — show custom swatches (each inner array = a column of shades)
14
+ * - `false` / omitted — no swatches section
15
+ */
16
+ swatches?: boolean | string[][];
17
+ };
18
+ declare const _default: import('vue').DefineComponent<ColorPaletteProps, {
19
+ el: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
20
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
21
+ "update:modelValue": (value: string) => any;
22
+ }, string, import('vue').PublicProps, Readonly<ColorPaletteProps> & Readonly<{
23
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
24
+ }>, {
25
+ alpha: boolean;
26
+ picker: boolean;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
28
+ pickerRef: HTMLDivElement;
29
+ canvasWrapRef: HTMLDivElement;
30
+ mainCanvasRef: HTMLCanvasElement;
31
+ hueWrapRef: HTMLDivElement;
32
+ hueCanvasRef: HTMLCanvasElement;
33
+ alphaWrapRef: HTMLDivElement;
34
+ alphaCanvasRef: HTMLCanvasElement;
35
+ }, HTMLDivElement>;
36
+ export default _default;
@@ -22,33 +22,25 @@ export type BbBreadcrumbsProps = Pick<CommonProps, 'disabled'> & {
22
22
  */
23
23
  divider?: string;
24
24
  /**
25
- * Guessed width of the divider in pixels.
25
+ * Width of the divider in pixels. Defaults to 5.
26
26
  */
27
27
  dividerWidth?: number;
28
- /**
29
- * Guessed average character width in pixels.
30
- */
31
- fontWidthGuesstimate?: number;
32
28
  /**
33
29
  * Horizontal gap between breadcrumb elements in pixels.
34
30
  */
35
31
  gapWidth?: number;
36
32
  /**
37
- * Extra width in pixels added per item estimate (e.g. prepend/append slot content).
33
+ * Extra one-off width in pixels added to the total estimate
34
+ * (e.g. prepend/append/item slot content).
38
35
  */
39
36
  offsetWidth?: number;
40
37
  /**
41
- * Conservative multiplier applied to each estimated item width.
38
+ * Multiplier applied to each estimated item width. Defaults to 1.12.
39
+ * This is a trade-off between under-estimation and over-estimation.
40
+ * A higher value will result in more over-estimation. Increases/decreases carefully.
41
+ * @default 1.12
42
42
  */
43
43
  estimationBias?: number;
44
- /**
45
- * Fixed safety padding subtracted from available width before fitting.
46
- */
47
- overflowSafetyPaddingWidth?: number;
48
- /**
49
- * If estimated fit is too close to the limit, collapse one extra item.
50
- */
51
- nearThresholdCollapseWidth?: number;
52
44
  /**
53
45
  * Explicit width used by the estimator for the ellipsis activator.
54
46
  */
@@ -57,6 +49,12 @@ export type BbBreadcrumbsProps = Pick<CommonProps, 'disabled'> & {
57
49
  declare function __VLS_template(): {
58
50
  attrs: Partial<{}>;
59
51
  slots: Readonly<{
52
+ prepend?: (props: {
53
+ disabled?: boolean;
54
+ }) => any;
55
+ append?: (props: {
56
+ disabled?: boolean;
57
+ }) => any;
60
58
  'item:prepend'?: (props: {
61
59
  disabled: boolean;
62
60
  index: number;
@@ -86,6 +84,12 @@ declare function __VLS_template(): {
86
84
  text?: string;
87
85
  }) => any;
88
86
  }> & {
87
+ prepend?: (props: {
88
+ disabled?: boolean;
89
+ }) => any;
90
+ append?: (props: {
91
+ disabled?: boolean;
92
+ }) => any;
89
93
  'item:prepend'?: (props: {
90
94
  disabled: boolean;
91
95
  index: number;
@@ -122,14 +126,11 @@ declare function __VLS_template(): {
122
126
  };
123
127
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
124
128
  declare const __VLS_component: import('vue').DefineComponent<BbBreadcrumbsProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<BbBreadcrumbsProps> & Readonly<{}>, {
129
+ offsetWidth: number;
125
130
  divider: string;
126
131
  dividerWidth: number;
127
- fontWidthGuesstimate: number;
128
132
  gapWidth: number;
129
- offsetWidth: number;
130
133
  estimationBias: number;
131
- overflowSafetyPaddingWidth: number;
132
- nearThresholdCollapseWidth: number;
133
134
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
134
135
  navRef: HTMLElement;
135
136
  }, HTMLElement>;
@@ -2,15 +2,7 @@ export type EstimateBreadcrumbItemWidthOptions = {
2
2
  /**
3
3
  * Base width of a single average character.
4
4
  */
5
- fontWidthGuesstimate: number;
6
- /**
7
- * Reserved horizontal space per breadcrumb item (optical/focus buffer).
8
- */
9
- itemHorizontalPadding?: number;
10
- /**
11
- * Lower clamp to avoid under-estimation for short labels.
12
- */
13
- minItemWidth?: number;
5
+ fontWidth: number;
14
6
  /**
15
7
  * Multiplies final estimate to bias toward safer over-estimation.
16
8
  */
@@ -2,6 +2,10 @@ import { BaseColorInputEvents, BaseColorInputSlots } from '../BaseColorInput/Bas
2
2
  import { HTMLAttributes, InputHTMLAttributes } from 'vue';
3
3
  import { IconType } from '../../types/Icon';
4
4
  export type BbColorInputProps = {
5
+ /**
6
+ * Enable the alpha channel. Shows an opacity slider and uses `#RRGGBBAA` hex8 format.
7
+ */
8
+ alpha?: boolean;
5
9
  /**
6
10
  * Name of the icon to be added at the end of the input.
7
11
  */
@@ -95,6 +99,19 @@ export type BbColorInputProps = {
95
99
  * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.
96
100
  */
97
101
  reverse?: boolean;
102
+ /**
103
+ * Show an eyedropper button to sample any color on screen.
104
+ * Uses the native EyeDropper API — hidden automatically on unsupported browsers.
105
+ * @default false
106
+ */
107
+ picker?: boolean;
108
+ /**
109
+ * Controls swatches display in the picker:
110
+ * - `true` — show the built-in Material-palette swatches
111
+ * - `string[][]` — show custom swatches (each inner array = a column of shades)
112
+ * - `false` / omitted — no swatches section
113
+ */
114
+ swatches?: boolean | string[][];
98
115
  };
99
116
  export type BbColorInputEvents = BaseColorInputEvents;
100
117
  export type BbColorInputSlots = BaseColorInputSlots & {
@@ -0,0 +1,207 @@
1
+ import { CommonProps } from '../../types/CommonProps';
2
+ export type BbColorPaletteProps = Pick<CommonProps, 'arrowPadding' | 'eager' | 'offset' | 'padding' | 'placement' | 'transitionDuration'> & {
3
+ /**
4
+ * v-model: the current color as a `#RRGGBB` hex string (or `#RRGGBBAA` when
5
+ * `alpha` is enabled), or `null` when empty.
6
+ */
7
+ modelValue: string | null;
8
+ /**
9
+ * Enable the alpha channel. The picker shows an opacity slider and emits
10
+ * `#RRGGBBAA` hex8 values.
11
+ */
12
+ alpha?: boolean;
13
+ /**
14
+ * Controls swatches display in the picker:
15
+ * - `true` — show the built-in Material-palette swatches
16
+ * - `string[][]` — show custom swatches (each inner array = a column of shades)
17
+ * - `false` / omitted — no swatches section
18
+ */
19
+ swatches?: boolean | string[][];
20
+ /**
21
+ * External activator element or component ref.
22
+ * When provided, the `activator` slot is not rendered and click listeners are
23
+ * attached programmatically to the referenced element — mirroring the
24
+ * BbDropdown activator API.
25
+ */
26
+ activator?: HTMLElement | Record<string, any> | null;
27
+ /**
28
+ * Element or component ref the popover positions itself relative to.
29
+ * Defaults to the activator element when omitted, allowing the popover to
30
+ * be anchored to a larger container (e.g. the full input row) while a
31
+ * smaller element (e.g. a color dot) remains the click target.
32
+ */
33
+ anchor?: HTMLElement | Record<string, any> | null;
34
+ /**
35
+ * Constrains the popover within a bounding element.
36
+ * Accepts an HTMLElement, a Vue component ref, or a CSS selector string.
37
+ */
38
+ boundary?: HTMLElement | Record<string, any> | string | null;
39
+ /**
40
+ * Whether to flip the popover to the opposite side when there is not enough space.
41
+ * @default true
42
+ */
43
+ flip?: boolean;
44
+ /**
45
+ * Show the popover arrow. Hidden by default since the palette has its own visual frame.
46
+ * @default false
47
+ */
48
+ showArrow?: boolean;
49
+ /**
50
+ * Disable all interaction (activator and palette).
51
+ */
52
+ disabled?: boolean;
53
+ /**
54
+ * Prevent opening the palette while keeping the activator visible.
55
+ */
56
+ readonly?: boolean;
57
+ /**
58
+ * Accessible label applied to the activator element via `aria-label`.
59
+ * Defaults to the locale string for "Open color picker" when omitted.
60
+ */
61
+ label?: string;
62
+ /**
63
+ * Show an eyedropper button inside the palette to sample any color on screen.
64
+ * Uses the native EyeDropper API — hidden automatically on unsupported browsers.
65
+ * @default false
66
+ */
67
+ picker?: boolean;
68
+ };
69
+ export type BbColorPaletteEvents = {
70
+ (e: 'update:modelValue', value: string | null): void;
71
+ /** Fires whenever the popover opens or closes. */
72
+ (e: 'update:open', value: boolean): void;
73
+ };
74
+ export type BbColorPaletteSlots = {
75
+ /**
76
+ * Custom activator element.
77
+ * Apply `v-bind="props"` to the element you want to use as the trigger —
78
+ * this wires up the ref callback that lets BbColorPalette track the element.
79
+ *
80
+ * @example
81
+ * ```vue
82
+ * <BbColorPalette v-model="color">
83
+ * <template #activator="{ props: dotProps, open, color }">
84
+ * <button v-bind="dotProps" :style="{ background: color }">Pick</button>
85
+ * </template>
86
+ * </BbColorPalette>
87
+ * ```
88
+ */
89
+ activator?: (props: {
90
+ /**
91
+ * Spread onto your activator element to register the ref.
92
+ * ARIA attributes (`aria-haspopup`, `aria-expanded`, `aria-label`) are set
93
+ * programmatically so they stay correct for both the slot and external activator paths.
94
+ */
95
+ props: {
96
+ ref: (el: unknown) => void;
97
+ };
98
+ /**
99
+ * Spread onto a wrapping element when you want the popover to anchor to
100
+ * something larger than the click target (e.g. the full input row).
101
+ * When unused the activator element is also the anchor.
102
+ */
103
+ anchorProps: {
104
+ ref: (el: unknown) => void;
105
+ };
106
+ /** Whether the palette popover is currently open. */
107
+ open: boolean;
108
+ /** The current color value (mirrors `modelValue`). */
109
+ color: string | null;
110
+ disabled?: boolean;
111
+ }) => any;
112
+ };
113
+ declare function __VLS_template(): {
114
+ attrs: Partial<{}>;
115
+ slots: Readonly<BbColorPaletteSlots> & BbColorPaletteSlots;
116
+ refs: {
117
+ paletteRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('../BaseColorInput/ColorPalette.vue').ColorPaletteProps> & Readonly<{
118
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
119
+ }>, {
120
+ el: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
121
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
122
+ "update:modelValue": (value: string) => any;
123
+ }, import('vue').PublicProps, {
124
+ alpha: boolean;
125
+ picker: boolean;
126
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
127
+ pickerRef: HTMLDivElement;
128
+ canvasWrapRef: HTMLDivElement;
129
+ mainCanvasRef: HTMLCanvasElement;
130
+ hueWrapRef: HTMLDivElement;
131
+ hueCanvasRef: HTMLCanvasElement;
132
+ alphaWrapRef: HTMLDivElement;
133
+ alphaCanvasRef: HTMLCanvasElement;
134
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
135
+ P: {};
136
+ B: {};
137
+ D: {};
138
+ C: {};
139
+ M: {};
140
+ Defaults: {};
141
+ }, Readonly<import('../BaseColorInput/ColorPalette.vue').ColorPaletteProps> & Readonly<{
142
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
143
+ }>, {
144
+ el: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
145
+ }, {}, {}, {}, {
146
+ alpha: boolean;
147
+ picker: boolean;
148
+ }> | null;
149
+ };
150
+ rootEl: any;
151
+ };
152
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
153
+ declare const __VLS_component: import('vue').DefineComponent<BbColorPaletteProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
154
+ "update:modelValue": (value: string | null) => any;
155
+ "update:open": (value: boolean) => any;
156
+ }, string, import('vue').PublicProps, Readonly<BbColorPaletteProps> & Readonly<{
157
+ "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
158
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
159
+ }>, {
160
+ transitionDuration: number;
161
+ offset: number;
162
+ padding: number;
163
+ alpha: boolean;
164
+ picker: boolean;
165
+ flip: boolean;
166
+ showArrow: boolean;
167
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
168
+ paletteRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('../BaseColorInput/ColorPalette.vue').ColorPaletteProps> & Readonly<{
169
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
170
+ }>, {
171
+ el: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
172
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
173
+ "update:modelValue": (value: string) => any;
174
+ }, import('vue').PublicProps, {
175
+ alpha: boolean;
176
+ picker: boolean;
177
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
178
+ pickerRef: HTMLDivElement;
179
+ canvasWrapRef: HTMLDivElement;
180
+ mainCanvasRef: HTMLCanvasElement;
181
+ hueWrapRef: HTMLDivElement;
182
+ hueCanvasRef: HTMLCanvasElement;
183
+ alphaWrapRef: HTMLDivElement;
184
+ alphaCanvasRef: HTMLCanvasElement;
185
+ }, HTMLDivElement, import('vue').ComponentProvideOptions, {
186
+ P: {};
187
+ B: {};
188
+ D: {};
189
+ C: {};
190
+ M: {};
191
+ Defaults: {};
192
+ }, Readonly<import('../BaseColorInput/ColorPalette.vue').ColorPaletteProps> & Readonly<{
193
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
194
+ }>, {
195
+ el: import('vue').Ref<HTMLDivElement | null, HTMLDivElement | null>;
196
+ }, {}, {}, {}, {
197
+ alpha: boolean;
198
+ picker: boolean;
199
+ }> | null;
200
+ }, any>;
201
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
202
+ export default _default;
203
+ type __VLS_WithTemplateSlots<T, S> = T & {
204
+ new (): {
205
+ $slots: S;
206
+ };
207
+ };
package/dist/i18n/en.d.ts CHANGED
@@ -6,11 +6,16 @@ declare const _default: {
6
6
  clearLabel: string;
7
7
  };
8
8
  colorInput: {
9
+ dialogLabel: string;
10
+ openPicker: string;
11
+ openPickerSelected: string;
9
12
  paletteLabel: string;
10
13
  mainCanvasDesc: string;
11
14
  mainCanvasSelectedColor: string;
12
15
  hueCanvasDesc: string;
13
16
  hueCanvasSelectedHue: string;
17
+ alphaSliderDesc: string;
18
+ eyeDropper: string;
14
19
  };
15
20
  datePicker: {
16
21
  monthLabel: string;
package/dist/i18n/it.d.ts CHANGED
@@ -6,11 +6,16 @@ declare const _default: {
6
6
  clearLabel: string;
7
7
  };
8
8
  colorInput: {
9
+ dialogLabel: string;
10
+ openPicker: string;
11
+ openPickerSelected: string;
9
12
  paletteLabel: string;
10
13
  mainCanvasDesc: string;
11
14
  mainCanvasSelectedColor: string;
12
15
  hueCanvasDesc: string;
13
16
  hueCanvasSelectedHue: string;
17
+ alphaSliderDesc: string;
18
+ eyeDropper: string;
14
19
  };
15
20
  datePicker: {
16
21
  monthLabel: string;